use*_*330 3 git git-amend git-commands
我使用git commit --amend修改了之前的提交.在那之后,当我推动我的更改时,由于'not -fast-forward'错误,我被拒绝了.我找到了答案.不幸的是,如命令,git pull --rebase,git fetech origin不工作.如果我的本地仓库没有冲突,为什么我的推送失败了.
如果您发布了一个提交而其他人提取它,那么提交就会保留.修改或改组时,您创建一个新提交并忘记旧提交.但是当其他人已经拥有旧提交时,它将不会为它们更新.因此,当它们稍后合并时,提交的两个版本将合并导致破坏.
有了这个错误,git阻止你推送你已经错误发布的修改版本的提交.
规则有例外.如果你想要一个没有人工作的备份,你可以在那里推送新的历史(称为倒带).如果有一个分支被宣布为倒带(例如git自己的"pu"分支和所有主题尚未在"next"中),那么倒带显然很好.
如果您确定不会因此而导致问题,您可以通过使用告诉git继续并快退
git push -f
Run Code Online (Sandbox Code Playgroud)
它也是配置为镜像的远程控制器的默认设置.
请注意,某些存储库可以配置钩子以禁止倒带或禁止重绕某些分支.