28

我看到人们建议所有开发人员在他们的机器上设置一个从C:\project\.git\rr-cache共享文件夹到共享文件夹的符号链接\\server\rr-cache

但是,如果可能的话,通过将文件夹包含在 git 存储库本身中来共享文件夹似乎更方便。我见过人们提到这个解决方案,但实际上并没有提到如何去做。

有任何想法吗?

4

2 回答 2

21

它可以通过专用分支共享。如果该分支上存在冲突,您想停止并解决它,因为这意味着尝试以两种不同的方式解决相同的冲突。不用说,这将是规则的例外。

对于这个问题的其他人,谷歌“每个功能的分支”看看这在哪里有用。

Hooks 可以自动同步常见的 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 回答