2013-10-10 67 views
0

在我的存儲庫'A'中,我從遠程存儲庫'B'中獲取。現在我想提交一個從B存儲的特定提交的長列表,我已經將它存儲在一個日誌文件中。任何人都可以想到一種方法來做到這一點,除了手動櫻桃選擇每個提交。我知道這是一個非常模糊的情況,而不是Git設計的。是否可以快速提交提交日誌文件?

回答

2

您可以編寫一個腳本來迭代您的評論列表,併爲每個條目執行git cherry-pick $i

例如,如果文件commits.txt是這樣的:

223373387c94dbd16ea357cebc95d616031e96a1 
9b04028e3c378b6b60f8e950d43217b764edef35 
ac28f924148c0597aaeaa0cf7f5cbbf54a9eec0f 

,你可以這樣做:

for i in `cat commits.txt`; do git cherry-pick $i || break; done 
+2

雖然它可能是[安全使用反引號(http://partmaps.org /era/unix/award.html#backticks)在這種情況下,標準習語是'while while read i;做...完成 tripleee

+0

@Vi。我正在考慮按照這些方法做一些事情,但是我不知道這樣的腳本如果發生了衝突(我期待他們這樣做)將如何處理衝突。你怎麼看? – user2202911

+0

它會在第一次失敗的櫻桃挑選中放棄。這就是'||打破'爲。您可以手動解決衝突,將已應用的櫻桃挑選從'commits.txt'編輯並重新運行腳本。 –