28

C:\project\.git\rr-cacheすべての開発者が自分のマシンに から共有フォルダーへのシンボリック リンクを設定することを推奨する人を見てきました\\server\rr-cache

ただし、可能であれば、フォルダーを git リポジトリ自体に含めて共有する方が便利なようです。人々がこの解決策について言及しているのを見たことがありますが、実際にそれを行う方法はありません。

何か案は?

4

2 に答える 2

21

専用ブランチ経由で共有できます。そのブランチに競合がある場合は停止して解決する必要があります。これは、2 つの異なる方法で同じ競合を解決しようとしたことを意味するためです。言うまでもなく、それはルールの例外です。

この質問の他の人については、「機能ごとのブランチ」をグーグルで検索して、これが役立つ場所を確認してください。

フックは、共通の rr-cache ブランチの同期を自動化できます。

自動化に必要なものは次のとおりです。rereresharing はマージ先のブランチの例です。rr-cache は解決を格納するブランチです。これらの手順はすべて問題なく機能しました。

git checkout --orphan rereresharing start-sprint-1 
git --git-dir=.git --work-tree=.git/rr-cache checkout -b rr-cache
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "initial cache"
git clean -xdf
git checkout rereresharing 
git merge --no-ff FTR-1
git merge --no-ff FTR-2
vim opinion.txt # resolve conflict 
git add -A
git commit
git checkout rr-cache 
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "resolution"
git remote add origin ../bpf-central
git push origin rereresharing rr-cache 
cd - # assumes you were previously in the other local repo
git remote add origin ../bpf-central
git fetch
git branch rr-cache origin/rr-cache 
ls .git/rr-cache
git --git-dir=.git --work-tree=.git/rr-cache checkout rr-cache -- .
ls .git/rr-cache

これで、同じマージを行う準備が整い、競合が解決されます。

于 2012-09-25T20:15:40.293 に答える
5

おそらく、別のオプションを共有する代わりに、rerere-train.shrr-cacheを使用して既存の Git 履歴から競合解決を学習することになるでしょう。

于 2014-05-09T09:59:36.633 に答える