我正在使用git进行版本控制的项目。该项目的一个贡献者是使用git并且不小心直接推送到master而不是现有功能分支的新手。
我想将这些更改从master移到功能分支。我知道如何撤消更改,但我想知道是否有办法让我接受提交并将它们直接移到另一个分支。
答案 0 :(得分:0)
我使用以下模式:
git checkout feature/branch
git cherry-pick [sha1]
Sha1是主分支上特定提交的哈希值。 Cherry会选择每个相关的提交,一旦所有内容都被移动,您可以按照常规方式恢复主数据,并且您将在功能分支上保留更改。
如果提交是连续的,您也可以这样做
git cherry-pick sha1x^...sha1n
这将选择sha1x和sha1n之间的所有提交,包括sha1x。请注意,^
是使其具有包容性的原因。