将一堆提交组合在一起的快速方法 (git)
Quick way to combine a bunch of commits together (git)
我有分支 master 和 feature。
Feature 在 master 之前有大约 20 个提交。
我想将所有提交压缩在一起,这样当我合并时我只有一个提交。有没有办法用一个命令来做到这一点?我知道我可以做一个交互式的 rebase;但我正在寻找一个让这一切变得简单的命令。
是的!
在主分支上:
git merge --squash feature-branch
您可以使用
git rebase -i {revision-number}
git rebase --interactive {revision-number}
其中-i
表示您将进入交互模式。您指定要从中进行合并的修订版。
进入交互模式后,您将 select 第一个 pick
选项,其他 squash
。通过这种方式,您可以将来自功能分支的多个提交合并为一个。然后你可以这样做:
git checkout master
git merge feature
这里有一个很好的解释:
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
我有分支 master 和 feature。
Feature 在 master 之前有大约 20 个提交。
我想将所有提交压缩在一起,这样当我合并时我只有一个提交。有没有办法用一个命令来做到这一点?我知道我可以做一个交互式的 rebase;但我正在寻找一个让这一切变得简单的命令。
是的!
在主分支上:
git merge --squash feature-branch
您可以使用
git rebase -i {revision-number}
git rebase --interactive {revision-number}
其中-i
表示您将进入交互模式。您指定要从中进行合并的修订版。
进入交互模式后,您将 select 第一个 pick
选项,其他 squash
。通过这种方式,您可以将来自功能分支的多个提交合并为一个。然后你可以这样做:
git checkout master
git merge feature
这里有一个很好的解释:
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html