git - 将另一个分支上的提交应用于工作副本

时间:2016-04-21 19:05:49

标签: git atlassian-sourcetree

所以我的提交有一个有用的代码更改,但在另一个分支上。

我想在另一个分支中将此提交应用于我当前分支上的工作副本(而不是另一个提交)。

这可能吗?我该怎么做?

以为我分享这个与我之前的问题有关,但具体到工作副本: git cherry picking one commit to another branch

2 个答案:

答案 0 :(得分:25)

如何将所需的提交添加到不同的分支中。

git cherry-pick <SHA-1>...<SHA-1> --no-commit

  

在主分支的顶端应用commit(s)引入的更改,并使用此更改创建新的提交。

...的语法是提交范围。从开始(排除)到最后一个提取所有提交。如果您想要单个提交,请使用单个SHA-1

enter image description here

宣读完整的git cherry-pick documentation for all the options you can use

答案 1 :(得分:9)

您仍然可以使用git cherry-pick命令。见git cherry-pick --help

   -n, --no-commit
       Usually the command automatically creates a sequence of
       commits. This flag applies the changes necessary to
       cherry-pick each named commit to your working tree and the
       index, without making any commit. In addition, when this
       option is used, your index does not have to match the HEAD
       commit. The cherry-pick is done against the beginning state
       of your index.

所以你可以git cherry-pick -n <commitid>,并且更改将应用​​于你的工作目录并在索引中暂存(如git -a),但不会被提交。