我有一个分支,我想合并到远程,最新的master
。我的计算机上有一个本地的、过时的主程序。我运行了git pull upstream master
,它检索了远程master
,这很棒,正是我想要的。然后,我不假思索地在切换到另一个分支时不小心丢弃了这些更改。
在我的本地master上,我已经运行git pull
和git pull upstream master
很多次了,它总是说“已经是最新的”,而实际上它并不是。一开始git pull upstream master
工作得很好,但现在不行了,机器认为它是最新的,而实际上不是。如何使我的本地主机再次与远程主机相同?
5条答案
按热度按时间z5btuh9x1#
好吧,通常当我在本地有一个过时的master,并希望将分支(比如my_branch)中最近的更改合并到master(本地和远程)时,我会执行以下操作:
master
分支。git pull --rebase origin master
(这将在本地拉下master上的最新更改)my_branch
git pull --rebase origin master
(这将根据远程上最新的master更新您的本地分支。您可能需要解决此处的冲突(如果存在))master
分支。git merge my_branch
git push origin master
s5a0g9ez2#
如果你已经做了一个
git fetch upstream
,你可以在你的分支master中试着做:这会将你的当前分支设置为和你的上游master完全一样(顺便说一句,它会丢弃任何本地更改)。检查您的最后一次提交,以确认您在本地
vi4fp9gy3#
下面为我工作一样的魅力
git checkout master
git pull
git checkout <your local branch>
git pull --rebase --autostash origin master
42fyovps4#
按照以下步骤->
xriantvc5#
只需(可选)git checkout查看需要更新的内容,然后git pull更新