我从master创建了一个特性分支,但我应该从develop分支创建它,我该如何修复它?
为了形象化,我做了以下工作:
D---E---F develop
/
A---B---C master
\
G---H feature
但我应该这样做:
G---H feature
/
D---E---F develop
/
A---B---C master
我没有尝试过任何方法,我不知道该如何处理
2条答案
按热度按时间8e2ybdfx1#
这可以通过在
develop
上重新创建feature
的所有提交来完成。可以执行此操作的命令是git rebase
:master
的信头认可(不含)与feature
的信头认可(含)之间的所有认可develop
分支上重新创建它们请注意,重新创建的提交独立于旧的提交,它们将被分配一个新的提交ID/哈希。如果历史记录已经与其他人共享,除非绝对必要,否则不应更改。重写的历史记录也需要强制推送,因为远程服务器上的引用不能被快进。
要获得
develop
的更改而不重写历史,只需使用git merge
将两个历史放在一起:iyr7buue2#
这是一个使用
git rebase
的教科书示例,假设您还没有刷feature
。