Bu makale bunu nispeten iyi bir şekilde kapsamaktadır:
https://github.com/rrrene/gitscm-next/blob/master/app/views/blog/progit/2010-04-11-environment.markdown
Temelde komut satırından çalışıyorsanız, bu tahmin edebileceğinizden daha basittir. 2 git deposu istediğinizi varsayalım:
.gitone
.gittwo
Bunları şu şekilde kurabilirsiniz:
git init .
mv .git .gitone
git init .
mv .git .gittwo
Bir dosya ekleyebilir ve bu şekilde yalnızca bir dosyaya işleyebilirsiniz:
git --git-dir=.gitone add test.txt
git --git-dir=.gitone commit -m "Test"
Yani git için seçenekler önce gelir, sonra komut, sonra git komutunun seçenekleri. Bir git komutunu aşağıdaki gibi kolayca takma ad yapabilirsiniz:
#!/bin/sh
alias gitone='git --git-dir=.gitone'
alias gittwo='git --git-dir=.gittwo'
Böylece, biraz daha az yazarak birini veya diğerini taahhüt edebilirsiniz, örneğin gitone commit -m "blah"
.
Daha da karmaşık görünen şey görmezden gelmektir. .Gitignore normalde proje kökünde oturduğundan, tüm kökü değiştirmeden bunu da değiştirmenin bir yolunu bulmanız gerekir. Veya .git / info / exclude kullanabilirsiniz, ancak gerçekleştirdiğiniz tüm yok saymalar tamamlanmayacak veya itilmeyecektir - bu da diğer kullanıcıları mahvedebilir. Depolardan birini kullanan diğerleri, çatışmalara neden olabilecek bir .gitignore gönderebilir. Bu sorunları çözmenin en iyi yolu benim için net değil.
TortoiseGit gibi GUI araçlarını tercih ederseniz, bazı zorluklarla da karşılaşabilirsiniz. Geçici olarak .gitone veya .gittwo'yu .git olarak yeniden adlandıran küçük bir komut dosyası yazabilirsiniz, böylece bu araçların varsayımları karşılanır.
git subtree
işi bitirecek.