如何解决与git svn的冲突?

如何解决与git svn的冲突?,git,svn,merge,conflict,Git,Svn,Merge,Conflict,当执行git svn rebase时,解决冲突的最佳方法是什么,并且您所在的git分支变为“(无分支)”?您可以使用git mergetool以常规方式查看和编辑冲突。一旦您确定冲突得到解决,请执行git-rebase--continue继续执行该重新基础,或者如果您不想包含该修订,请执行git-rebase--skip执行git-svn-rebase,如果您有合并冲突,请记住以下几点: 1)如果在执行重基时发生任何不好的情况,您将进入(无分支)分支 2)如果运行git status,您将在工作

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

您可以使用
git mergetool
以常规方式查看和编辑冲突。一旦您确定冲突得到解决,请执行
git-rebase--continue
继续执行该重新基础,或者如果您不想包含该修订,请执行
git-rebase--skip
执行
git-svn-rebase
,如果您有合并冲突,请记住以下几点:

1)如果在执行重基时发生任何不好的情况,您将进入
(无分支)
分支

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

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

4)如果存在合并冲突:

  • 手动编辑文件以解决冲突
  • 使用
    git add[file]
  • 使用git-rebase--Continue继续执行rebase
    • 如果git问:“你忘了调用
      git add
      ?”,那么编辑将冲突转化为无操作更改3。继续执行git rebase--skip
  • 您可能必须重复此过程,直到完成重基。在任何时候,您都可以
    git-rebase--abort
    来取消并放弃重新基址


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

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

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

    上的补丁刚刚被“无变化”的东西击中,非常感谢跳过提示,甚至没有考虑过。整个Git ReBASE——跳过的事情使我有点悲伤,因为在我试图解决冲突的过程中,我多次丢失了更改。事后看来,我可能应该建立一个本地分支,并将我的更改放在那里,而不是依赖git隐藏。我之所以没有这样做,是因为我读到在git svn中合并分支存在问题,但我认为这与尝试合并您在本地git副本中复制的svn分支有关。我从remote/trunk合并到我们团队的工作分支,结果我不得不解决两次冲突,一次是在合并时,然后我又做了一个“git svn rebase”。我做错了什么?@csexon您到harrys博客的链接无效。这很有帮助,谢谢。所以其他人没有我的问题。。。。让
    mergetool
    暂存您的更改,但不要
    commit
    。只需调用
    git-rebase——继续执行阶段性更改。
    
    git rebase --abort