如何解决如何在不丢失历史记录的情况下将多个提交合并为一个
| 我在一个分支中有多个提交。当我推送这些提交进行代码审查时,我们的代码审查工具会为每个提交创建一个审查。 为了避免这种情况,我想将多个提交合并到一个提交中。同时,我不想丢失提交的历史记录。是否可以创建仅用于审阅的新分支并将我的master分支中的所有提交合并到我的审阅分支中的单个提交?我该怎么做呢?解决方法
我不知道您的审核工具,但这可能有用
git checkout review
git merge --squash master
http://www.kernel.org/pub/software/scm/git/docs/git-merge.html
, 您不想这样做。就您如何进行提交而言,实际的历史是毫无价值的。适当大小的可审核块很有趣,因此只需在工作分支中“ѭ1”即可将提交合并到大小可管理的,最重要的逻辑块中,然后将其发布以进行审核,而不必理会原始历史记录。
也就是说,要合并提交,可以使用:
git merge --squash
Git不会丢掉历史。它实际上并没有在rebase
中执行此操作,但是在那种情况下,只有通过reflog \才可以访问历史记录的先前版本,并且只有当reflog到期时(IIRC默认为90天),最终将无法访问,and4ѭ将其丢弃。但是,使用壁球时,原始分支仅保留在那里,您仍然可以从reflog中命名修订。
但是,审阅的历史记录将通过审阅工具合并到中央主记录中,并且没有人会看到您的原始历史记录。您可以保留它,但是它与正式版本无关,无论如何也不会有人看它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。