拉动rebase后Git推分支错误

时间:2016-11-23 10:45:10

标签: git

第1步。<?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $from = 'From: xxx'; $to = 'info@xxx.com'; $subject = 'Hello'; $body = "From: $name\n E-Mail: $email\n Message:\n $message"; if ($_POST['submit']) { if (mail ($to, $subject, $body, $from)) { echo '<h4 >Thank you for your message!</h4>'; } else { echo '<h4>Sorry there was an error sending your message. Please try again!</h4>'; } } ?>

第2步:git pull --rebase

我得到推送失败错误。如果我在删除远程分支后推动分支,则没有错误。

问题,如何在拉动rebase后推动分支?

由于

2 个答案:

答案 0 :(得分:1)

在Git中重新分支可能涉及重写该分支的历史,假设两个分支的基础不同。从你告诉我们的情况来看,你似乎在不同的分支上重新定位。最有可能的是,在您的情况下,您的git push --force origin my_branch 被重写,这意味着您无法简单地推送到遥控器。

要解决这个问题,您可以通过以下方式强行推动您的分支:

git pull --rebase origin my_branch
# resolve merge conflicts, if any
git push origin my_branch

但是,如果不同分支上的rebase是无意的,你可能不想这样做。

相反,尝试以这种方式改变:

{{1}}

一般警告:

强制推送公共共享分支通常是一个坏主意,因为它会导致共享该分支的所有人出现问题。如果您当前的工作流程涉及这样做,您可能需要重新考虑。

答案 1 :(得分:1)

首先,您必须检查rebase进程的状态。如果rebase正在运行,推动将无法工作。所以 git rebase --abort / git rebase --skip 来停止rebase。 然后尝试提交任何未跟踪的文件,如果有任何不匹配。

最后我认为git push origin my_branch会起作用。