我在Github上有一个存储库, aav1
在我的笔记本电脑上,我有两个分支,一个名为主,另一个名为 vs12up 主分支是当软件是Visual Studio 2008时,vs12up转换为Visual Studio 2012。
在我的笔记本电脑上,一切似乎都很好,我将新分支推送到github,看起来是正确的。
在我的桌面上,我试图拉远程分支:
git pull origin vs12up
它在桌面上将更改写入我的主分支, git log 显示在 vs12up 分支上进行的提交,但git分支仅显示 master < / strong>,这是当前的分支。
如何将更改还原到主分支并拉出桌面上的 vs12up 分支以匹配笔记本电脑上的存储库?
答案 0 :(得分:33)
如果您使用远程分支名称执行git pull
,它将获取远程分支,然后将其合并到您当前的本地分支中。因此,要撤消该操作,首先必须将本地分支重置为远程master
,然后从相应的远程分支创建新的本地vs12up
分支。
重置本地master
以匹配远程存储库的master
(警告:在发出以下命令之前,请确保您没有要保留的任何未提交的更改):< / p>
git reset --hard origin/master
将所有远程分支获取到本地存储库中:
git fetch origin
从远程vsup12
分支创建一个新的本地vsup12
分支,并切换到这个新的本地分支:
git checkout -b vsup12 origin/vsup12
请注意,当您随后在切换到git pull
分支时执行vsup12
时,您将从Github上的vsup12
分支获取并合并最新更改到您的本地{ {1}}