我有以下提交:
repo dev---(222)---v1.0(111)
repo orig---v2.0(333)---
如何在提交111和222之间在repo A中挑选diff(反向),然后使用git将结果提交到repo B?
我有一个带有更改的软件仓库(dev)(提交222),但更改是在与原始软件仓库(orig)无关的历史记录上完成的。
我做了以下(我的开发回购是“dev”,原始回购是“orig”):
现在我对我的更改有反向差异:
git diff v1.0(111) (222)
我想在“orig”回购中挑选这些变化并重新加入v2.0(333)。
但是我确实读过“How to cherry pick a range of commits and merge into another branch” “cherry-pick A..B”形式,A应该比B.更早。 如果命令错误,命令将无声地失败。
如何使用git?
答案 0 :(得分:1)
首先,cherry-pick命令将是
int
您需要在git checkout 333
git cherry-pick -n v1.0~...222
git commit -m "apply diff between 1.0 and 222"
的父级(由A...B
排除)和v1.0
之间挑选A
。
其次,由于您只希望将一个提交应用于333,因此请使用B
选项。
此标志应用必要的更改来挑选您的工作树和索引的每个命名提交,而不进行任何提交。