[英]Git pull origin <branch> overwrites master?
我在Github上有一个存储库, aav1
在我的笔记本电脑上,我有两个分支,一个名为master ,一个名为vs12up 。主分支是当软件是Visual Studio 2008时,vs12up转换为Visual Studio 2012。
在我的笔记本电脑上一切似乎都很好,我把新分支推到github,看起来是正确的。
在我的桌面上,我试图拉远程分支:
git pull origin vs12up
它在桌面上将更改写入我的主分支, git log显示在vs12up分支上进行的提交,但git分支仅显示master ,这是当前分支。
如何将更改还原到主分支并拉出桌面上的vs12up分支以匹配笔记本电脑上的存储库?
如果你使用远程分支名称进行git pull
,它将获取远程分支,然后将其合并到当前的本地分支中。 因此,要撤消该操作,首先必须将本地分支重置为远程master
分支,然后从相应的远程分支创建新的本地vs12up
分支。
重置本地master
以匹配远程存储库的master
(警告:在发出以下命令之前,请确保您没有要保留的任何未提交的更改):
git reset --hard origin/master
将所有远程分支获取到本地存储库:
git fetch origin
从远程vsup12
分支创建一个新的本地vsup12
分支,并切换到这个新的本地分支:
git checkout -b vsup12 origin/vsup12
请注意,当您随后在切换到vsup12
分支时执行git pull
时,您将从Github上的vsup12
分支获取并合并最新更改到您的本地vsup12
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.