我已经分叉了一个项目,并在几次提交中对其进行了一些更改。我想知道我是否提交了一个合并请求,所有提交的历史是否对维护者可用?我正在寻找一个解决方案,所有提交都聚合为一个提交,我不知道它是否发生在合并请求或没有?这是因为我已经做了一些尝试错误,我不喜欢这些尝试错误对项目维护者可见。
jhdbpxl91#
是的,如果你推动你的分支,所有的历史都会在那里。您可以
**#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。如果你不想让维护者看到你所有提交的历史记录,你应该做#1。否则#2将工作得很好,最终结果将是相同的:一次提交即可完成更改。
5t7ly7z52#
是的,无论你推什么,它都将是整个历史。有些人喜欢在这样做之前压缩提交。我看到很多人使用git rebase -i或git merge --squash。我喜欢用手这样做。。比如说你想压缩10个提交:
git rebase -i
git merge --squash
git reset --soft HEAD~10 git commit -m "blah blah"
瞧!这里有一个压缩的提交。
2条答案
按热度按时间jhdbpxl91#
是的,如果你推动你的分支,所有的历史都会在那里。您可以
**#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。如果你不想让维护者看到你所有提交的历史记录,你应该做#1。否则#2将工作得很好,最终结果将是相同的:一次提交即可完成更改。
5t7ly7z52#
是的,无论你推什么,它都将是整个历史。有些人喜欢在这样做之前压缩提交。我看到很多人使用
git rebase -i
或git merge --squash
。我喜欢用手这样做。。比如说你想压缩10个提交:瞧!这里有一个压缩的提交。