54

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

4

2 回答 2

90

在执行 agit svn rebase时,如果您有合并冲突,请记住以下几点:

1)如果在执行变基时发生任何不好的事情,你最终会在一个(no-branch)分支上。

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

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

git rebase --abort

4)如果您有合并冲突:

  1. 手动编辑文件以解决冲突
  2. 暂存任何更改git add [file]
  3. 用2继续变基git rebase --continue
    • 如果 git 询问:“你忘记打电话了git add吗?”,然后编辑将冲突变成了无操作更改3。继续git rebase --skip

您可能必须重复此过程,直到变基完成。您可以git rebase --abort随时取消并放弃变基。


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

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

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

于 2008-09-22T02:11:01.660 回答
27

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

于 2008-09-22T02:08:32.320 回答