繁体   English   中英

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

[英]git pull vs git pull --rebase when trying to git push

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

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

警告

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

有关重新设置基准的更多详细信息,建议您使用git help rebase检出手册页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM