使用源树,带冲突的rebase,在冲突重新调整后,rebase不起作用

54 git rebase merge-conflict-resolution atlassian-sourcetree

我在Windows上使用SourceTree作为我的git工具.

我有一个分支和一个功能分支,当我发生冲突时,我无法让SourceTree执行rebase.

主要看起来像:

c1 - > c2 - > c4 - > c5

功能看起来像:

c1-> c2 - > c3

我想重新定义功能,所以它将是:

c1 - > c2-> c4-> c5-> c3

c3c5之间存在冲突.我可以解决冲突,但是当我提交更改时,我得到一个HEAD标记并查看我的图表,我可以看到该功能分支没有重新定位.

我怎样才能让rebase工作?

Phi*_*tle 124

不幸的是,在在rebase期间解决冲突的UX路径非常差.

解决冲突并在暂存区域中进行所有更改后,而不是单击" 提交",请转到" 操作" - >" 继续重新生成":

在此输入图像描述

  • 这意味着您已完成解决冲突,并且您希望继续使用rebase (6认同)
  • 请注意,"在暂存区域中进行所有更改"非常重要.我已经解决了所有冲突,但是一些不在暂存区域的变化.当命令行`git rebase --continue`显示正确的警告信息时,Sourcetree似乎什么都不做. (4认同)
  • 我提出了一个问题,如果你想在SourceTree中进行改进,请随时投票/评论:https://jira.atlassian.com/browse/SRCTREEWIN-7761 (4认同)
  • @Timmmm - 雅,同意SourceTree可以更好地帮助用户了解正在发生的事情. (2认同)

小智 9

解决冲突并将所有更改都放入暂存区域后,不要单击“提交”,而是转到“操作”->“继续变基”:

在最新版本的源代码树中,解决冲突并将所有更改都放入暂存区后,必须先提交,然后单击Actions -> Continue Rebase

最后,您将在拉/推按钮附近看到数字。这是正常的。只需右键单击您的分支并选择“强制推送”选项即可推送您的代码。如果您没有看到“强制推送”选项,则必须在 sourcetree 上激活它。