git 用远程主机更新本地主机

dffbzjpn  于 2023-05-21  发布在  Git
关注(0)|答案(5)|浏览(147)

我有一个分支,我想合并到远程,最新的master。我的计算机上有一个本地的、过时的主程序。我运行了git pull upstream master,它检索了远程master,这很棒,正是我想要的。然后,我不假思索地在切换到另一个分支时不小心丢弃了这些更改。
在我的本地master上,我已经运行git pullgit pull upstream master很多次了,它总是说“已经是最新的”,而实际上它并不是。一开始git pull upstream master工作得很好,但现在不行了,机器认为它是最新的,而实际上不是。如何使我的本地主机再次与远程主机相同?

z5btuh9x

z5btuh9x1#

好吧,通常当我在本地有一个过时的master,并希望将分支(比如my_branch)中最近的更改合并到master(本地和远程)时,我会执行以下操作:

  • 在本地 checkout master分支。
  • 运行git pull --rebase origin master(这将在本地拉下master上的最新更改)
  • 结帐本地分支说my_branch
  • 运行git pull --rebase origin master(这将根据远程上最新的master更新您的本地分支。您可能需要解决此处的冲突(如果存在))
  • 再次在本地检出master分支。
  • 运行git merge my_branch
  • 运行git push origin master
s5a0g9ez

s5a0g9ez2#

如果你已经做了一个git fetch upstream,你可以在你的分支master中试着做:

git reset --hard upstream/master

这会将你的当前分支设置为和你的上游master完全一样(顺便说一句,它会丢弃任何本地更改)。检查您的最后一次提交,以确认您在本地

vi4fp9gy

vi4fp9gy3#

下面为我工作一样的魅力

  1. git checkout master
  2. git pull
  3. git checkout <your local branch>
  4. git pull --rebase --autostash origin master
42fyovps

42fyovps4#

按照以下步骤->

git checkout master
git stash
git reset --hard origin/master
git pull -r
xriantvc

xriantvc5#

只需(可选)git checkout查看需要更新的内容,然后git pull更新

相关问题