如何解决与git-svn的冲突?

时间:2008-09-22 02:03:56

标签: git svn merge conflict

在执行git svn rebase时解决冲突的最佳方法是什么,而您所使用的git分支变为“(无分支)”?

2 个答案:

答案 0 :(得分:88)

在执行git svn rebase时,如果您有合并冲突,请注意以下事项:

1)如果在执行rebase时发生任何不良情况,您最终会进入(no-branch)分支。

2)如果您运行git status,您会在工作目录中看到.dotest文件。这是可以忽略的。

3)如果要中止rebase,请使用以下命令。 1

git rebase --abort

4)如果您遇到合并冲突:

  1. 手动编辑文件以解决冲突
  2. 使用git add [file]
  3. 暂存所有更改
  4. 使用git rebase --continue 2 继续变基
    • 如果git问:“你忘了打电话给git add?”,那么编辑就会把冲突变成无操作的变化 3 。继续git rebase --skip
  5. 您可能必须重复此过程,直到rebase完成。在任何时候,您都可以git rebase --abort取消并放弃变基。


    1:--abort没有git svn rebase选项。

    2:--continue没有git svn rebase选项。

    3:这很奇怪,但文件处于git认为在特定补丁之后它们相同的状态。解决方案是“跳过”  关于rebase的补丁。

答案 1 :(得分:26)

您可以使用git mergetool以通常的方式查看和编辑冲突。一旦确定冲突得到解决,请git rebase --continue继续使用rebase,或者如果您不想包含该修订,请执行git rebase --skip