(git):如何从上游分支提交特定提交?

问题描述:

我有这个(GIT回购):(git):如何从上游分支提交特定提交?

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

而且我要带只承诺D分支devD不依赖于C),使:

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

但d '合并后不应添加到主人:

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

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

使用git cherry-pick有工作联系

你想用git cherry-pick更新。我假设你的遥控器被命名为“原点”(但用远程回购的真实名称替换“原点”)。我假设你有两个当地分行,分别命名为masterdev。我会假设提交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的变化。