当我编写代码时,我会将其分解为小的逻辑更改,以便轻松快速地进行审查。
为此,我使用git rebase -i
(交互式)压缩、删除和更改提交的顺序。
我注意到这有时会导致 GitHub 拉取请求的提交顺序不同(尽管该顺序保留在远程分支上)。
例如,
- commit 1
- commit 2
- commit 3
PR 中可能会显示为:
- commit 3
- commit 1
- commit 2
我在网上搜索了一下,只找到了这个 GitHub 帮助页面:为什么我的提交顺序错误? https://help.github.com/articles/why-are-my-commits-in-the-wrong-order/他们的回答是:
如果您通过 git rebase 或强制推送重写提交历史记录,您
可能会注意到打开一个文件时你的提交顺序是乱序的
拉取请求。
GitHub 强调 Pull Request 作为讨论空间。各方面
它的评论、参考文献和提交都以
按时间顺序排列。重写你的 Git 提交历史记录尽管
执行变基 https://help.github.com/articles/about-git-rebase改变时空连续体,这意味着
该提交可能不会按照您期望的方式表示
GitHub 界面。
如果您总是想按顺序查看提交,我们建议不要使用git rebase
。但是,请放心,当您
看事物不按时间顺序排列!
有办法解决这个问题吗?
我已经设法通过以下方式解决这个问题:
- 找到保留顺序的最后一次提交
- Run
git rebase -i <hash of that commit>
- 全部替换
pick
with reword
- Run
git push -f
在此之前,我尝试仅更改第一个提交消息,这也更改了以下所有哈希值,但这并没有解决问题。
我也必须为每个后续提交执行此操作才能正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)