Cherrypick 从一个标签开始的远程分支的所有提交

Cherrypick all commits from remote branch starting at a tag

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

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

所以原版回购标签看起来像:

 0.7.0
 0.7.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 以发挥它的魔力。