git cherry-pick到另一个分支

kas*_*sak 20 git branch cherry-pick

我想知道是否有办法将一个提交复制到另一个分支而不检查该分支.

例如,我有两个分支:masterparallel_version.

我在parallel_version分支机构,我在这些分支机构的常见文件中发现了一个错误.

我已修好并承诺.如果我使用git-svn,如何将此提交复制到另一个分支?

通常我会这样做:

$ git checkout master
$ git cherry-pick parallel_version
$ git checkout parallel_version
Run Code Online (Sandbox Code Playgroud)

有更好的方法吗?

Thi*_*ter 9

这是不可能的 - 简单地想象如果存在无法自动解决的冲突会发生什么.出于同样的原因,您也无法更新当前未签出的分支(即使可以快进).

  • 您可以使用以下命令更新其他分支:git fetch origin&git branch mybranch origin/mybranch -f (3认同)
  • @mnaoumov 更简单:`git fetch <remote> <branch>:<branch>` (3认同)
  • “在当前的实施中不可能”,是的。“不值得费心去正确实施它”——也许吧。但潜在的无法解决的冲突并不是一个很好的论据:在这种情况下,在不更改工作目录或存储库状态的情况下,挑选应该失败。 (3认同)
  • “出于同样的原因,您也无法更新当前未签出的分支(即使可以快进)。” 这句话是错误的:/sf/answers/1240608421/ (2认同)

len*_*tcl 5

https://github.com/lennartcl/gitl提供"混帐樱桃拷贝"和"混帐樱桃移动"脚本做到这一点,处理大部分的极端案例.

  • 看起来“gitcherry-copy”只是自动执行 OP 概述的 3 个手动步骤。因此,它与@ThiefMaster并不矛盾。我希望“稍后”在编译当前分支时将提交樱桃复制到分支。事情进展不顺利…… (3认同)