git pull vs git pull-尝试进行git push时重新设置

时间:2019-09-04 23:00:00

标签: git

当本地存储库未指向时,我觉得git pull --rebase是更好的选择  到当前分支的尖端。在这种情况下,当我们尝试执行git push时,会引发错误消息  我们应该做“ git pull”。我的问题是“告诉用户使用git pull --rebase"不是一个好主意  当他们试图在存储库未指向提示时进行推送。

1 个答案:

答案 0 :(得分:0)

git pullgit fetchgit merge的快捷方式。 git pull --rebasegit merge替换git rebase。因此,要在执行git push时了解您的消息,就需要了解git rebase的行为。简而言之,此命令将复制当前分支中不在您要拉取的分支上的提交,并在该分支的顶部重写它们。这意味着git pull --rebase之后的分支与其在远程上的当前状态具有不同的历史记录。为了正确地更新您的遥控器,您应该执行git push -f,这将强制您当前的分支覆盖该遥控器。

警告

执行git push -f很危险,因为它会覆盖远程分支。如果其他人在同一分支上工作,则他们将拥有带有旧提交的本地副本。然后,他们在执行git push时会看到与您看到的相同的错误。当您是唯一在分支上工作的人时,才可以强制推动。

有关重新定级的更多详细信息,建议您使用git help rebase来查看手册页。