Git cherry-pick 使用总结
2019獨角獸企業重金招聘Python工程師標準>>>
應用背景:假設現在有兩個分支:dev_01, dev_02. 如果我想把dev_01分支上的某幾個commit合并到dev_02分支, 那么怎么辦呢?
這就是cherry-pick的工作了。cherry-pick會撿選某些commit, 即把某些commit的更改重新在另一分支上重新提交一遍. 對于我們的應用背景而言,就是把分支dev_01上某幾個commit的更改在分支dev_02上再提交一遍。那么上述問題的解決方案如下:
假設我們需要將dev_01上的兩個commit 合并到dev_02上,兩個commit的commit id 分別如下:
20c2f506d789bb9f041050dc2c1e954fa3fb6910?
2633961a16b0dda7b767b9264662223a2874dfa90
那我們可以這樣寫:
git cherry-pick ?
20c2f506d789bb9f041050dc2c1e954fa3fb6910?
2633961a16b0dda7b767b9264662223a2874dfa9 ?
多個commit-hash使用空格分割, commit-hash最好按提交時間先后排列, 即最先提交的commit放在前面.
注意:上面這條cherry-pick命令每揀選一個commit就會提交一次生成一個新的commit id。 如果我們想讓每個commit 揀選后暫緩提交,等到所有commit都揀選完成后,自己手動commit,應該怎么辦呢?答案是用-n 選項:
git cherry-pick ?-n
20c2f506d789bb9f041050dc2c1e954fa3fb6910?
2633961a16b0dda7b767b9264662223a2874dfa9
這樣,當git cherry-up后,這兩個commit上的更改就被merge到本地的dev_02分支了,此時這些更改就像是你再dev_02分支上自己手動添加的一樣,注意此時這些更改并沒有被提交。
執行git status 會列出這些改動。
此時,就可以按正常流程(git commit, git push)來提交改動了
?
轉載于:https://my.oschina.net/u/920274/blog/3024283
總結
以上是生活随笔為你收集整理的Git cherry-pick 使用总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言编写程序数一下 1到100的所有整
- 下一篇: Dubbo源码分析(三)Dubbo中的S