因此,为了让我的团队中害怕版本控制和命令行的开发人员能够接受 fork/rebase/pull-request git 工作流程,我跳过了很多障碍。
在向我们的开发 wiki 添加 rebase 文章时,我只是说到“做git rebase
。如果有任何合并冲突,修复它们。然后做一个git add
。然后做git rebase --continue
。”
但是在完成示例并截取屏幕截图时,我被提醒如果存在合并冲突,并且我解决它以支持上游分支,git rebase --continue
实际上执行 a 拒绝继续并给出错误:
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.
此处对技术细节进行了精彩的讨论:Git rebase:冲突不断阻碍进度
但我想要的是让这种行为停止。
我认为发生这种情况有一个很好的设计原因(可能与仅使用正常提交机制的 rebase 相关,这种行为可能是有意义的)但在这种情况下,它令人困惑且不直观,并使冲突逻辑:“修复冲突。如果你修复看起来与上游分支完全一样,执行 a git rebase --skip
。在所有其他情况下,执行 a git rebase --continue
。”
有没有办法抑制这种行为,无论是使用重新设置标志还是在版本控制的配置文件中(所以我不必在每个开发人员的计算机上设置它或提供这样做的说明)?