我很遗憾不得不在工作中使用SVN存储库。我通过git-svn这样做。现在,在我做了更改之后,将它们和我的git-svn“拉”别名:
!git svn fetch && git svn rebase -l
现在如果有一个我不想解决的合并冲突,我的直觉就是这样做:
git checkout --theirs conflicting_file
git add conflicting_file
git rebase --continue
但是,现在,它似乎不是来自其他开发者的conflicting_file
,而是现在conflicting_file
以前在我的索引中。
这里到底发生了什么,以及这样做的正确方法是什么?
答案 0 :(得分:2)
我认为@poke说得对:“他们的”和“我们的”在你的头脑中与git的行为交换。当您执行svn rebase时,您当前的分支(“我们的”)是svn分支的复制,而在(“他们的”)中合并/重新定义的更改是您在本地创建的。 当我为了相同的目的使用git-svn时,我把我的东西放在一个单独的git分支上,只有当我准备做'svn dcommit'时才把它带进svn分支。这样做会使他们/我们的问题在你的脑海中更加清晰,并且使你不必处理冲突,直到你准备好。