在本地压缩提交后,如何同步本地和远程存储库的历史记录?

时间:2020-06-14 08:33:20

标签: git

我已使用git rebase --interactive HEAD~N压缩了本地分支上的提交,并将更改推送到了远程存储库中。但是,现在我的提交仅被压缩在本地存储库中。我在本地压缩的所有12个提交仍列在我的远程分支的历史记录中。我相信这是因为我在将它推到远程时没有添加--force标志,但是现在为时已晚。

我尝试创建一个新分支并将该分支推送到我的远程存储库,但是提交仍然未压缩。

那么我该如何同步本地分支的历史和远程分支的历史?

2 个答案:

答案 0 :(得分:0)

为时已晚?当我尝试在无力重新设置后进行推送时,我会收到一条消息,提示推送被拒绝。您应该能够添加--force并将其成功推送

答案 1 :(得分:0)

免责声明:使用--force会引起问题,尤其是在与团队合作时。

此后,所有人的推送都会被拒绝,而且您甚至可以推送别人的工作!

此外,如果您使用的是CI管道,则可能会造成问题。

话虽如此,如果您绝对确定不会造成任何问题(单独工作,没有多台开发机器,没有部署管道),只需执行git push --force,就可以了。

为了将来参考,最好对每个功能/修复/使用一个开发分支,并在完成后(清理,提交和压缩)仅合并到母版。