我已经从develop创建了一个功能分支,该功能分支包含大约20的一堆提交。在将功能分支合并到开发之前,我想将所有提交转换为一个。哪种方法是完成此任务的最佳方法,如何进行git squash或rebase以及如何做到这一点?
答案 0 :(得分:0)
如果您想将一堆提交压缩到 feature 分支上的单个提交中,则可以按照以下步骤进行操作,但是如果这一系列提交已被推送到远程,则必须确保没有人在 feature 分支上工作,因为您必须强制推送到该分支,并且这意味着重写远程历史记录(通常,如果在公共场所工作,您不想这样做)存储库或更多的人正在该分支上工作。
git checkout FEATURE
(其中FEATURE
必须替换为您的 feature 分支的名称。git rebase -i HEAD~21
这是假设您要压缩最近的20次提交。如果您拥有最早提交的HASH
,也可以执行git rebase -i HASH^
pick
替换为squash
(或s
)并保存文件git push -f