【问题标题】:Cherrypick all commits from remote branch starting at a tagCherrypick 从标记开始的远程分支的所有提交
【发布时间】:2024-04-28 00:05:03
【问题描述】:

我正在开发一个依赖游戏的旧项目,但游戏更新了很多,我需要将我的项目更新到最新版本。我试过简单地合并两个 Repos,但是变化太多了,只是混乱。

我想逐步挑选每个提交(几百个),以确保不会发生不需要的更改,并且可能会在冲突中添加一些更改。

所以原版 repo 标签看起来像:

 0.7.0
 0.7.1
 ...

如何从每个标签中挑选每个提交?

【问题讨论】:

    标签: git cherry-pick git-cherry-pick


    【解决方案1】:

    来自https://git-scm.com/docs/git-cherry-pick

    git rev-list --reverse master -- README | git cherry-pick -n --stdin
    

    如果您将rev-list 更改为

    git rev-list --reverse 0.7.1 ^0.7.0
    

    它为您提供 0.7.1 之前的所有提交,不包括 0.7.0 之前的所有提交,因此基本上所有 0.7.0 和 0.7.1 之间的提交。在此处查看^ 的使用:https://git-scm.com/docs/git-rev-list#_description

    然后您可以将这些提交通过管道传输到cherry-pick 以发挥其魔力。

    【讨论】:

      最近更新 更多