【问题标题】:Git cherry-Pick a batch of commits from a fileGit cherry-从文件中挑选一批提交
【发布时间】:2012-09-20 20:20:17
【问题描述】:

我正在尝试从我的主分支中挑选一批提交并将它们放入自己的分支中。我将所有提交哈希都放在一个文件(称为 output.txt)中,我正在尝试将其通过管道传输到 git cherry-pick。这是我想出的命令:

tail -r ~/outfile.txt | git cherry-pick -n --stdin

然而,如果存在合并冲突,这个字符串会失败,我宁愿在遇到合并冲突时挂起一些东西,这样我就可以修复它并继续前进

有什么想法吗?

【问题讨论】:

  • tail 命令的-r 是什么?我在手册页中找不到它
  • 它反转列表,我从日志中抓取列表并从最近到最近打印,所以我反转列表来处理

标签: git


【解决方案1】:

基于 knittl 的回答:

while read line; do
    git cherry-pick -n "$line" || exit 1
done < outfile.txt

【讨论】:

    【解决方案2】:

    循环呢?

    while read line; do
      git cherry-pick -n "$line"
    done < outfile.txt
    

    【讨论】:

    • 不,仍然挂起合并冲突:错误:无法应用 2ad0da0... 提示:解决冲突后,标记更正的路径提示:使用 'git add ' 或 'git rm ' 提示:并使用 'git commit' (FILENAME) 提交结果:未合并 (df123cbb5a9f8661fda9bb00f336988d683ace3a)
    猜你喜欢
    • 2021-01-18
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2018-04-17
    • 2014-11-21
    • 2017-04-04
    相关资源
    最近更新 更多