10

我有这个(git repo):

A--B--C--D ->master
   \--E    ->dev

而且我只想将提交D带到分支devD不依赖于C),这样:

A--B--C--D  ->master
   \--E--D' ->dev

但是 D' 不应该在合并后添加到 master :

A--B--C--D--E' ->master
   \--E--D'/   ->dev

这是因为我只想带来文件更新,而不必污染(代表另一个大合并)添加dev的新文件。 我猜我需要使用,但我无法猜测如何使用。C
git rebase

4

2 回答 2

12

你想用git cherry-pick. 我假设您的遥控器被命名为“origin”(但用远程仓库的真实名称替换“origin”)。我假设您有两个本地分支,也分别命名为masterand dev。我假设提交 D 是 on 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

现在您将只拥有来自 commit D in 的更改dev

于 2010-02-16T13:34:09.390 回答
-2

使用git cherry-pick 更新工作链接

于 2010-02-16T13:31:18.283 回答