1. 程式人生 > >git cherry-pick. 如何把已經提交的commit, 從一個分支放到另一個分支

git cherry-pick. 如何把已經提交的commit, 從一個分支放到另一個分支

  在本地 master 分支上做了一個commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支上? 

辦法之一: 使用 cherry-pick.  根據git 文件:

Apply the changes introduced by some existing commits 

就是對已經存在的commit 進行apply (可以理解為再次提交)

簡單用法:

git cherry-pick <commit id>


例如:
$ git checkout old_cc
$ git cherry-pick 38361a68

     # 這個 38361a68 號碼,位於:

$ git log 
commit 38361a68138140827b31b72f8bbfd88b3705d77a 
Author: Siwei Shen <[email protected]>
Date:   Sat Dec 10 00:09:44 2011 +0800


1. 如果順利,就會正常提交。結果:

Finished one cherry-pick.
# On branch old_cc
# Your branch is ahead of 'origin/old_cc' by 3 commits.


2. 如果在cherry-pick 的過程中出現了衝突

Automatic cherry-pick failed.  After resolving the conflicts,
mark the corrected paths with 'git add <paths>' or 'git rm <paths>'
and commit the result with: 

        git commit -c 15a2b6c61927e5aed6718de89ad9dafba939a90b


就跟普通的衝突一樣,手工解決:
2.1 $ git status    # 看哪些檔案出現衝突

both modified:      app/models/user.rb
 


2.2 $ vim app/models/user.rb  # 手動解決它。 
2.3 $ git add app/models/user.rb
2.4 git commit -c <新的commit號碼>

相關推薦

git cherry-pick. 如何已經提交commit, 一個分支放到一個分支

  在本地 master 分支上做了一個commit ( 38361a68138140827b31b72f8bbfd88b3705d77a ) , 如何把它放到 本地 old_cc 分支上?  辦法之一: 使用 cherry-pick.  根據git 文件: Apply the changes intr

git cherry-pick:複製多個提交commit到當前分支

git cherry-pick:複製多個提交commit到當前分支 git cherry-pick的作用是合併不同分支的若干個commit到當前分支,這些若干個commit程式碼提交可以是不同分支的commit提交,如圖: 現在master分支打算把develop分支的C、D、E這三次

git cherry-pick 將某個commit改動拉出來重新提交到不同分支

 有以下情況:比如我們基於1月份的主分支建了一個3月份的主分支,我們已經基於3月份的主分支建了自己的分支並merge了一個自己的分支進去。但是現在有需求上patch所以基於1月份的主分支建了一個2月份主分支,哪麼如何把3月份我們commit和merge的分支在2月份重新提交呢,這時就可以使用&nbs

git cherry-pick用於一個本地分支commit修改應用到當前分支

git cherry-pick用於把另一個本地分支的commit修改應用到當前分支。 遇見這個問題起初不知道該如何解決,哎,看了下,還有這個命令,還是上一個博主的文章: git checkout 當前分支 git cherry-pick  分支號   //這個是從原來的分

Gitcherry-pick: 合併指定的commit

git cherry-pick可以合併一個區間的提交. 比如現在有兩個分支, 其提交情況分別如下: master分支: 24e6c97 (HEAD -> master, dev) initialized

git cherry-pick合併某個commit

1、使用方法及其作用   git cherry-pick可以選擇某一個分支中的一個或幾個commit(s)來進行操作(操作的物件是commit)。例如,假設我們有個穩定版本的分支,叫v2.0,另外還有個開發版本的分支v3.0,我們不能直接把兩個分支合併,這樣會導致穩定版本混亂,但是又想增加一個v3.0中的功

IDEA Git Cherry-pick(摘櫻桃) 實現分支的部分提交合併到Master

   git cherry-pick可以選擇某一個分支中的一個或幾個commit(s)來進行操作。              最近同時開發了很多個功能並提交到了dev分支,但是上線的時候有些功能依賴其他的團隊的服務,其他團隊上不了線,導致自己的提交到dev分支的某些功能沒法

Git cherry-pick

date cnblogs 新功能 功能 pre nbsp git -s clas   假設你在dev01分支開發了2個新功能(A,B),對應2個commitA,commitB,但是上線前被告知只能上線功能A,此時可以: 1. 新建1個分支dev02 2. 將dev01上功能

git不同分支局部代碼合並 git cherry-pick

change compress 移除 cti IT oba 調整 php HA cherry-pick 可以局部代碼合並。 cherry-pick不僅可以用在不同分支之間,還可以用在同一個分支上。 比如說你在某一個向某個分支中添加了一個功能,後來處於某種原因把它給刪除了,然

git cherry-pick 報錯 fatal: bad object

fatal 參考 博客 目前 想要 error commit 關註 logs   場景:程序員A提交了一個commit到gerrit上,我們叫他為commit_id1,但是還沒有review,那就是沒有入庫,程序員B想再本地拿到這個commitd_id1,既然這個提交沒有入

git cherry-pick 詳解 —— Git 學習筆記 18

git cherry-pick 詳解 初識 git cherry-pick(揀選) 揀選會提取某次提交的補丁,之後嘗試將其重新應用到當前分支上。 這種方式在你只想引入特性分支中的某個提交時很有用。 假設你的專案提交歷史如下: 如果你希望將提交 e43a6 拉取到 m

解決git cherry-pick xxx fatal bad object xxx

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Git cherry-pick 使用總結

假設: 假設我們有 branch_01 和 branch_02 兩個開發分支,那麼我們怎麼把 branch_01 上的一個或者幾個commit合併到 branch_02 上呢? 假設 branch_01 有如下兩個commit的hash值 59e7e6545a2eda9

git rebase和git cherry-pick衝突解決方法

手動編輯衝突檔案,手動刪除或者保留衝突的程式碼; 對於“both added”、“both deleted”、“both modified”等型別的衝突,若想完整地保留某一方的修改可以執行git checkout --ours(或者–theirs) <檔名>來選擇想要保留的版本。需要注意的是由於

git cherry-pick簡介

本文編輯整理自: http://sg552.iteye.com/blog/1300713 http://web.mit.edu/bitbucket/git-doc/git-cherry-pick.txt git cherry-pick

git cherry-pick後無許可權git push的一個記錄

如果一個git倉庫有很多分支,這些分支裡的內容大都相似,但是有時候提交相同的程式碼需要合併到不同的分支裡,就需要git cherry-pick。 在執行git cherry-pick後,再執行git push時,有時候會有許可權不足的情況: [email pro

[Git] Cherry pick

pre latest bubuko import eas col 9.png touch png For example we have: develop branch hotfix branch release branch ‘develop‘ branc

Androidstudio Git (對已有專案提交遠端獲取專案到本地)

      兩種方式:        一種是check out 遠端的程式碼專案到本地(本地原本沒有專案)        一種是本地專案 提交到遠端伺服器(遠端伺服器上沒有專案)

git cherry-pick命令使用

用途:重新生成commitID,在原先其他分支或者本地分支的其他commit之上,然後git push到遠端1、在分支A重新提交我在分支B做的一次功能修改,並在分支A提交。2、另一種情況在分支A(在未跟新程式碼的情況下修改了好幾個功能,本地有好幾個commit提交),我不能向

Git整理(五) git cherry-pick的使用

概述 git cherry-pick可以理解為”挑揀”提交,它會獲取某一個分支的單筆提交,並作為一個新的提交引入到你當前分支上。