git cherry-pick命令
生活随笔
收集整理的這篇文章主要介紹了
git cherry-pick命令
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
? ? ? ? ? git cherry-pick 可以合入某個分支的commit,開發(fā)功能需要新建一個分支,開發(fā)完畢之后要將新鍵分支修改code合到主分支上去就需要用到這個命令。
當(dāng)下git內(nèi)容
lj@lj-virtual-machine:~/111111/git/gittest$ git branch * master lj@lj-virtual-machine:~/111111/git/gittest$ ls test.sh lj@lj-virtual-machine:~/111111/git/gittest$ cat test.sh 11 lj@lj-virtual-machine:~/111111/git/gittest$新建一個分支test,查看該分支,內(nèi)容和master分支上內(nèi)容一樣
lj@lj-virtual-machine:~/111111/git/gittest$ git checkout -b test 切換到一個新分支 'test' lj@lj-virtual-machine:~/111111/git/gittest$ git branchmaster * test lj@lj-virtual-machine:~/111111/git/gittest$ cat test.sh 11 lj@lj-virtual-machine:~/111111/git/gittest$增加test.sh內(nèi)容(22),切換分支,這時候不能切換分支,因為你的代碼boss還沒有審核,所以你要先把你的修改commit并push到遠(yuǎn)端。
lj@lj-virtual-machine:~/111111/git/gittest$ git status 位于分支 test 尚未暫存以備提交的變更:(使用 "git add <文件>..." 更新要提交的內(nèi)容)(使用 "git checkout -- <文件>..." 丟棄工作區(qū)的改動)修改: test.sh修改尚未加入提交(使用 "git add" 和/或 "git commit -a") lj@lj-virtual-machine:~/111111/git/gittest$ git add test.sh lj@lj-virtual-machine:~/111111/git/gittest$ git commit [test 5e78967] test1 file changed, 1 insertion(+) lj@lj-virtual-machine:~/111111/git/gittest$ git log commit 5e78967005660b5debe810b4435a5d638c6a757d Author: yaori <test@runoob.com> Date: Thu Mar 28 20:46:43 2019 +0800testcommit bfbbb585de8626fecfc4cd2afecf414f04637af2 Author: yaori <test@runoob.com> Date: Thu Mar 28 20:30:40 2019 +0800:wqcommit 0d4a4182f4ca18e14919727bbedffccc4f187ac7 Author: yaori <test@runoob.com> Date: Thu Mar 28 19:25:03 2019 +08001commit 6aadf6389b03a29123a72f26071ff57b514e4467 Author: yaori <test@runoob.com> Date: Thu Mar 28 09:26:05 2019 +0800test branch cherry-pickcommit 415428a4be7cc41a1d91381fe6b0dbe88b471cd0 Author: yaori <test@runoob.com> lj@lj-virtual-machine:~/111111/git/gittest$ git push origin test Counting objects: 6, done. Compressing objects: 100% (1/1), done. Writing objects: 100% (3/3), 233 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To http://git.iservernetwork.com/iserver/gittest.git* [new branch] test -> test lj@lj-virtual-machine:~/111111/git/gittest$這次的commit id是5e78967005660b5debe810b4435a5d638c6a757d
git show commit id查看修改了啥
lj@lj-virtual-machine:~/111111/git/gittest$ git show 5e78967005660b5debe810b4435a5d638c6a757d commit 5e78967005660b5debe810b4435a5d638c6a757d Author: yaori <test@runoob.com> Date: Thu Mar 28 20:46:43 2019 +0800testdiff --git a/test.sh b/test.sh index b4de394..bfc04a9 100644 --- a/test.sh +++ b/test.sh @@ -1 +1,2 @@11 +22 lj@lj-virtual-machine:~/111111/git/gittest$在主分支下面git cherry-pick commit id(test分支)
lj@lj-virtual-machine:~/111111/git/gittest$ git cherry-pick 5e78967005660b5debe810b4435a5d638c6a757d 位于分支 master 您的分支領(lǐng)先 'origin/master' 共 1 個提交。(使用 "git push" 來發(fā)布您的本地提交)您在執(zhí)行揀選提交 5e78967 的操作。無文件要提交,干凈的工作區(qū) 之前的揀選操作現(xiàn)在是一個空提交,可能是由沖突解決導(dǎo)致的。如果您無論如何 也要提交,使用命令:git commit --allow-empty否則,請使用命令 'git reset'然后在push一次,test分支里面的修改就push到遠(yuǎn)程master分支了
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的git cherry-pick命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git常见的回退操作
- 下一篇: proc maps分析coredump