0

不幸的是,我不得不在工作中使用 SVN 存储库。我通过 git-svn 做到这一点。现在,在我做出更改后,提交它们和我的 git-svn “pull”别名:

!git svn fetch && git svn rebase -l

现在,如果有一个我不想解决的合并冲突,我的直觉是:

git checkout --theirs conflicting_file
git add conflicting_file
git rebase --continue

但是,现在,我的索引中似乎有了以前conflicting_file的那个,而不是来自其他开发人员的那个。conflicting_file

这里到底发生了什么,这样做的正确方法是什么?

4

1 回答 1

2

我认为@poke 说得对:“他们的”和“我们的”在你的脑海中与 git 的行为互换。当您执行 svn rebase 时,您当前的分支(“我们的”)是 svn 分支的复制,而正在合并/重新调整的更改(“他们的”)是您在本地进行的。当我出于同样的目的使用 git-svn 时,我将我的东西放在一个单独的 git 分支上,并且只有在我准备好执行“svn dcommit”时才将它带入 svn 分支。这样做会使他们/我们的问题在您的脑海中更加清晰,并且还可以让您在准备好之前不必处理冲突。

于 2012-11-08T15:40:34.703 回答