我有这个(git repo):
A--B--C--D ->master
\--E ->dev
我只想将提交
D
带到分支dev
(D
不依赖于C
),这样:
A--B--C--D ->master
\--E--D' ->dev
但是 D' 不应在合并后添加到 master 中:
A--B--C--D--E' ->master
\--E--D'/ ->dev
这是因为我只想带来文件更新,而不必用
dev
(代表另一个大合并)添加的新文件污染 C
。git rebase
,但我不知道如何使用。
git cherry-pick
。我假设您的遥控器被命名为“origin”(但用远程存储库的真实名称替换“origin”)。我假设您有两个本地分支机构,也分别名为 master
和 dev
。我假设提交 D 位于 origin/dev
。您可以通过以下方式挑选 D:
$ git fetch origin # Assuming the upstream remote's name is "origin"
$ git checkout dev # Check out your local "dev" branch
$ git cherry-pick $COMMIT_D # Replace "COMMIT_D" with the hash for commit D
现在您只能获得
dev
中提交 D 的更改。