Git:Cherry-Pick到工作副本而不提交

sch*_*tbi 151 git

我有几个分支机构,我会保留某些提交,我希望不时地将其应用于我的工作副本.最初我尝试过挑选但我不希望稍后在目标分支中进行提交.

所以我做了cherry-pick+reset HEAD~1 --soft

是否有更简单的东西像樱桃采摘到工作副本?

Iga*_* S. 262

使用'-n'标志与樱桃采摘,这是"没有提交"

见这里:http://git-scm.com/docs/git-cherry-pick

git cherry-pick -n <HASH>
Run Code Online (Sandbox Code Playgroud)

  • `-n`将提交带到了暂存区域.为了取消它,"git reset HEAD"将是必要的. (23认同)
  • 只需“git重置”就足够了。 (2认同)

ada*_*mgy 19

如果您只是尝试将提交中所做的所有更改应用到工作目录,您也可以使用apply而不是:cherry-pick

git show <commit> | git apply
Run Code Online (Sandbox Code Playgroud)

这将应用所做的更改,但不会将它们添加到暂存或创建提交。

  • 这样做的缺点是它不会处理冲突。 (4认同)

小智 16

如果您使用终端

git cherry-pick -n <HASH>
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Intellij Idea

Settings -> Version Control -> git
untick commit automatically on cherry-pick 
Run Code Online (Sandbox Code Playgroud)


mor*_*007 9

只需运行:

$ git cherry-pick --no-commit <HASH>
Run Code Online (Sandbox Code Playgroud)


Tra*_*kov 8

对于 IntelliJ 用户

设置 > 版本控制 > Git:在挑选时取消选中自动提交

在此处输入图片说明