git高階特性之 cherry pick

2021-10-05 09:41:14 字數 1955 閱讀 4878

在開發過程中,我們一般會使用多分支來管理開發。在特殊情況下,其中乙個分支的改動,我想搬到我的另乙個分支(它會作為乙個新的提交引入到你當前分支上),關於這種操作,如果使用git 的話,那就可以做到了,這就是我們這篇部落格想要介紹的git cherry-pick高階特性。

首先看下官方介紹: 執行下面的命令

git

help cherry-pick

基本語法:

git cherry-pick [--edit]

[-n]

[-m parent-number]

[-s]

[-x]

[--ff]

[-s[

]]…​

git cherry-pick --continue

git cherry-pick --quit

git cherry-pick --abort

其中:-n, --no-commit 不自動提交

-e, --edit 編輯提交資訊

如果沒有出現衝突,該命令將自動提交。

git cherry-pick 
當cherry-pick時,沒有成功自動提交,這說明存在衝突,因此首先需要解決衝突,解決衝突後需要git commit手動進行提交;

或者git add .後直接使用git cherry-pick --continue繼續。

如果不想git cherry-pick自動進行提交,則加引數-n即可

git cherry-pick -n 
git cherry-pick -x 
在原來的提交資訊下,增加一行額外說明資訊(cherry picked from commit …),用來說明該次commit是從**cherry-pick的。

如果是從自己的私人分支之間做這個操作,就不要使用這個,這樣的資訊是無用的。

如果是cherry-pick別的同事的提交,可以使用這個引數,這個額外資訊將非常有用。

如果想要在cherry-pick後重新編輯提交資訊,則使用git cherry-pick -e命令

git cherry-pick -e 
git cherry-pick --continue

git cherry-pick --quit

git cherry-pick --abort

如果要繼續cherry-pick,則首先需要解決衝突,通過git add .將檔案標記為已解決,然後可以使用git cherry-pick --continue命令,繼續進行cherry-pick操作。

如果要中斷這次cherry-pick,則使用git cherry-pick --quit,這種情況下當前分支中未衝突的內容狀態將為modified,

如果要取消這次cherry-pick,則使用git cherry-pick --abort,這種情況下當前分支恢復到cherry-pick前的狀態,沒有改變。

git cherry-pick 

如果在git cherry-pick後加乙個分支名,則表示將該分支頂端提交進cherry-pick。

語法如下:

git cherry-pick 

..

中間的兩個點,表示把兩個commit區間的所有commit都複製過去。

注意:上面的操作,不會包含第乙個commit_id_0,即只會複製(commit_id_1 到 commit_id_n)。

所以使用時,記得算好第乙個commit id。

JDBC之(3)高階特性

可滾動,可定位,可更新 二,可滾動行,定位 ublic class testjdbc3 while rs.previous 將指標從最後一行逐步向第一行移動 catch exception ex finally 三,通過結果集增刪改查 1,增加 public static void main str...

Python 高階特性之 reduce

reduce 函式接收兩個引數,乙個是函式,乙個是序列 但傳入的這個函式必須接收兩個引數,reduce 會把這個函式運算的結果繼續和序列的下乙個元素做累積運算,相當於 reduce fun,x1,x2,x3,x4 fun fun fun x1,x2 x3 x4 例子,對序列求和 def add x,...

Python高階特性之切片

切片操作符是序列名後跟乙個方括號,方括號中有一對可選的數字,並用冒號分割。注意這與你使用的索引操作符十分相似。記住數是可選的,而冒號是必須的。切片操作符中的第乙個數 冒號之前 表示切片開始的位置,第二個數 冒號之後 表示切片到 結束,第三個數 冒號之後 表示切片間隔數。如果不指定第乙個數,pytho...