2013-10-10 65 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'编辑并重新运行脚本。 –