我分叉了一个项目,并在几次提交期间对其进行了一些更改。我想知道是否提交合并请求,维护者可以使用所有提交的历史记录吗?
我正在寻找一个解决方案,所有提交都汇总为一个提交,并且我不知道合并请求期间是否确实发生了?这是因为我做过一些试错操作,我不希望项目维护人员可以看到这些试错操作。
答案 0 :(得分:1)
是的,无论您推动什么,它都将是整个历史。有些人喜欢在压缩提交之前。我看到很多人为此使用git rebase -i
或git merge --squash
。我喜欢用这种方式手工做...说要压缩的是10次提交:
git reset --soft HEAD~10
git commit -m "blah blah"
Voila!在那里,您的提交被压缩了。
答案 1 :(得分:1)
是的,如果您按下分支,则所有历史记录都将存在。您可以
#1在推送分支之前压扁所有提交:参见Git: How to squash all commits on branch如何做到
或
#2压缩合并中的所有提交:较新版本的gitlab具有一项功能,如果您合并到master,则在实际合并之前将自动压缩所有提交:
有关更多信息,请参见https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html。
我个人在Gitlab可以自动合并之前已经完成了#1的工作。现在我一直在做#2。如果您不希望将所有提交的历史记录提供给maintaner,则应该执行#1。否则,#2会很好地工作,并且最终结果将是相同的:一次提交即可进行更改。