Git合并提交被远程仓库拒绝。

3

我正在试图合并三个提交。

  • 我克隆了存储库
  • 我切换到拥有我想要合并的提交的分支
  • 我运行 'git rebase -i HEAD~3'
  • 我选择了顶部的提交,并合并了第二和第三个提交。这很好。在我的本地分支上,现在已经合并了提交

现在,当我尝试进行“推送”时,它被拒绝,指出“更新被拒绝,因为当前分支的最新提交落后于远程分支”。现在,我没有对任何文件进行任何更改。是否有人知道如何将此“合并”推送到远程存储库?


https://stackoverflow.com/search?q=%5Bgit%5D+Updates+were+rejected+because+the+tip+of+your+current+branch+is+behind - phd
2个回答

2
这是一种预期行为,因为从git的角度来看,您已经从分支的顶部移除了2个提交。当您尝试进行推送并更改历史记录时,您需要使用git push --force命令。"最初的回答"

1

使用强制覆盖-f),因为您基本上正在重新编写分支的历史记录。但是要小心,不应在任何长期分支(如masterdevelop)上执行此操作。

顺便说一下,如果您正在使用像github/gitlab/bitbucket这样的git存储库管理软件,则可以通过其Web界面完成此操作,使用拉取请求并在合并时使用squash选项。


我正在使用本地的GitLab。感谢您的建议。 - Lieuwe
太好了!我建议你查看这个链接:https://docs.gitlab.com/ee/user/project/merge_requests/squash_and_merge.html - A. M.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接