如何解决与git-svn的冲突?
在做git svn rebase
时,解决冲突的最好方法是什么,你所在的git分支变成“(no-branch)”?
您可以使用git mergetool
以通常的方式查看和编辑冲突。 一旦你确定冲突得到解决,就要做git rebase --continue
– 继续继续rebase,或者如果你不想包含那个版本,那么git rebase --skip
在做git svn rebase
,如果你有合并的冲突,这里有一些事情要记住:
1)如果在执行rebase时发生任何不良情况,最终将在(no-branch)
分支上结束。
2)如果你运行git status
,你会在工作目录中看到一个.dotest
文件。 这是可以忽略的。
3)如果你想中止rebase使用下面的命令。 1
git rebase --abort
4)如果你有合并冲突:
- 手动编辑文件以解决冲突
- 使用
git add [file]
- 用
git rebase --continue
继续rebase – 继续2- 如果git问:“你忘了叫
git add
?”,那么编辑就把这个冲突变成了一个无用的变化3 。 继续使用git rebase --skip
- 如果git问:“你忘了叫
你可能不得不重复这个过程,直到完成rebase。 在任何时候,你都可以git rebase --abort
分配 – 取消和放弃rebase。
1: git svn rebase
没有--abort
选项。
2: git svn rebase
没有--continue
选项。
3:这很奇怪,但是这些文件处于git认为在特定补丁之后它们是相同的状态。 解决的办法是“跳过”rebase上的补丁。