在使用 git
时我们可能会遇到这样的需求: 想要合并某个分支下的某个特定的 commits
如我想把 feature
分支上的 commit
eef67189e9cc73f9bcb4af416ae8248f8e65dca4 合并到我的主分支中。这时我可以使用 git cherry-pick
命令来实现。
首先切换到主分支,然后使用命令加上指定commit
的Revision Number
1 | git checkout master |
操作完后在master
分支上会出现一个新的commit
。这样就可以实现我们上面的需求了。
有时可能不只需要合并一个commit
而是一系列相连的 commits
,这时我们可以使用rebase
会更适合。
如我需要把featrue
分支的 commit
992e6c 到 dc40bb 合并到主分支.
首先需要基于featrue
创建一个新的分支,并指明最后一个commit
1 | git checkout -b newbranch dc40bb |
然后 rebase
这个新分支的commit
到 master
1 | git rebase --onto master 992e6c^ |
992e6c ^
表示从哪个特定的commit
开始 。
这样就实现了我的第二个需求。