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

标签 git svn merge conflict

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

最佳答案

在执行 git svn rebase 时,如果您遇到 merge 冲突,请记住以下几点:

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

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

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

git rebase --abort

4) 如果您有 merge 冲突:

  1. 手动编辑文件以解决冲突
  2. 使用 git add [file] 暂存任何更改
  3. 使用 git rebase --continue2 继续 rebase
    • 如果 git 询问:“您是否忘记调用 git add?”,那么编辑会将冲突变成无操作更改3。继续 git rebase --skip

您可能必须重复此过程,直到 rebase 完成。在任何时候你都可以 git rebase --abort 来取消和放弃 rebase。


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

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

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

关于git - 如何解决与 git-svn 的冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/112839/

相关文章:

python - 合并版本化字典数组

git - Maven 发布插件 git push 不适用于 Git Deploy key

ruby-on-rails - GitLab 7-0 稳定无法推送或克隆

svn - Mercurial + hgsubversion + svn : A tale of 2 repositories. ..(或者,替换变更集?)

svn - 复制受版本控制的目录

python - 合并不同长度的python列表

git - 如何列出将受 `git add .` 影响的所有文件?

git 显示特定文件返回 'fatal: bad object'

java - Mercurial v Git v 颠覆

algorithm - 高效的分布式算法,用于合并具有公共(public)元素的集合