如何移动推送到master而不是feature branch的其他用户的更改?

时间:2018-02-22 03:13:39

标签: git github

我正在使用git进行版本控制的项目。该项目的一个贡献者是使用git并且不小心直接推送到master而不是现有功能分支的新手。

我想将这些更改从master移到功能分支。我知道如何撤消更改,但我想知道是否有办法让我接受提交并将它们直接移到另一个分支。

1 个答案:

答案 0 :(得分:0)

我使用以下模式:

git checkout feature/branch
git cherry-pick [sha1]

Sha1是主分支上特定提交的哈希值。 Cherry会选择每个相关的提交,一旦所有内容都被移动,您可以按照常规方式恢复主数据,并且您将在功能分支上保留更改。

如果提交是连续的,您也可以这样做

git cherry-pick sha1x^...sha1n

这将选择sha1x和sha1n之间的所有提交,包括sha1x。请注意,^是使其具有包容性的原因。