この記事はこれを比較的よくカバーしています:
https://github.com/rrrene/gitscm-next/blob/master/app/views/blog/progit/2010-04-11-environment.markdown
基本的に、コマンドラインから作業している場合、これは想像よりも簡単です。2gitリポジトリが必要だとします。
.gitone
.gittwo
次のように設定できます。
git init .
mv .git .gitone
git init .
mv .git .gittwo
次のように、ファイルを追加して1つだけにコミットできます。
git --git-dir=.gitone add test.txt
git --git-dir=.gitone commit -m "Test"
したがって、最初にgitのオプション、次にコマンド、次にgitコマンドのオプションが表示されます。次のようなgitコマンドを簡単にエイリアスできます。
#!/bin/sh
alias gitone='git --git-dir=.gitone'
alias gittwo='git --git-dir=.gittwo'
したがって、のように少し少ない入力でどちらかにコミットできますgitone commit -m "blah"
。
トリッキーに見えるのは無視です。.gitignoreは通常プロジェクトルートにあるため、ルート全体を切り替えることなく、これも切り替える方法を見つける必要があります。または、.git / info / excludeを使用することもできますが、実行するすべての無視はコミットまたはプッシュされません。これにより、他のユーザーが台無しになる可能性があります。いずれかのリポジトリを使用している他のユーザーは、.gitignoreをプッシュする可能性があり、競合が発生する可能性があります。これらの問題を解決する最善の方法は私にはわかりません。
TortoiseGitのようなGUIツールを好む場合は、いくつかの課題もあります。これらのツールの前提条件が満たされるように、一時的に.gitoneまたは.gittwoの名前を.gitに変更する小さなスクリプトを作成できます。
git subtree
仕事を成し遂げるでしょう。