Git 远程存储库拒绝压缩更改
Git squash changes are being rejected by the remote repository
我正在尝试压缩 3 次提交。
- 我克隆存储库
- 我用我想压缩的提交签出分支
- 我运行'git rebase -i HEAD~3'
- 我 'pick' 最上面的提交,我压缩了第二个和第三个。这一切都很好。在我的本地分支上,提交现在已被压缩
当我现在尝试 'push' 时被拒绝 'Updates were rejected because the tip of your current branch is behind'。现在我还没有对任何文件进行任何更改。有谁知道如何将这个 'squash' 推送到远程存储库?
这是预期的行为,因为从 git 的角度来看,您已经从分支的顶端删除了 2 个提交。您将尝试在推送时更改历史记录,而要做到这一点,您必须 git push --force
.
使用 force (-f
) 因为你基本上是 re-writing 你分支的历史。
请注意,您不应该在任何 long-term 分支上执行此操作,例如 master
或 develop
.
顺便说一句,如果您使用的是 git 存储库管理软件,例如 github/gitlab/bitbucket,您可以通过他们的 Web 界面使用拉取请求并使用 squash 合并时的选项。
我正在尝试压缩 3 次提交。
- 我克隆存储库
- 我用我想压缩的提交签出分支
- 我运行'git rebase -i HEAD~3'
- 我 'pick' 最上面的提交,我压缩了第二个和第三个。这一切都很好。在我的本地分支上,提交现在已被压缩
当我现在尝试 'push' 时被拒绝 'Updates were rejected because the tip of your current branch is behind'。现在我还没有对任何文件进行任何更改。有谁知道如何将这个 'squash' 推送到远程存储库?
这是预期的行为,因为从 git 的角度来看,您已经从分支的顶端删除了 2 个提交。您将尝试在推送时更改历史记录,而要做到这一点,您必须 git push --force
.
使用 force (-f
) 因为你基本上是 re-writing 你分支的历史。
请注意,您不应该在任何 long-term 分支上执行此操作,例如 master
或 develop
.
顺便说一句,如果您使用的是 git 存储库管理软件,例如 github/gitlab/bitbucket,您可以通过他们的 Web 界面使用拉取请求并使用 squash 合并时的选项。