Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git pull origin<;分行>;覆盖主机?_Git_Github_Git Branch_Remote Branch - Fatal编程技术网

Git pull origin<;分行>;覆盖主机?

Git pull origin<;分行>;覆盖主机?,git,github,git-branch,remote-branch,Git,Github,Git Branch,Remote Branch,我在Github上有一个存储库,aav1 在我的笔记本电脑上,我有两个分支,一个叫做master,另一个叫做vs12up 主分支是当软件是Visual Studio 2008时,vs12up转换为Visual Studio 2012 在我的笔记本电脑上,一切似乎都很好,我将新的分支推到github上,看起来是正确的 在我的桌面上,我尝试拉远程分支: git pull origin vs12up 它在桌面上写入了对我的主分支的更改,git log显示在vs12up分支上所做的提交,但git分支只

我在Github上有一个存储库,aav1

在我的笔记本电脑上,我有两个分支,一个叫做master,另一个叫做vs12up 主分支是当软件是Visual Studio 2008时,vs12up转换为Visual Studio 2012

在我的笔记本电脑上,一切似乎都很好,我将新的分支推到github上,看起来是正确的

在我的桌面上,我尝试拉远程分支:

git pull origin vs12up
它在桌面上写入了对我的主分支的更改,git log显示在vs12up分支上所做的提交,但git分支只显示master,即当前分支


如何将更改还原到主分支并在我的桌面上拉取vs12up分支以匹配我笔记本电脑上的存储库?

如果使用远程分支名称执行
git拉取
,它将获取远程分支,然后将其合并到当前本地分支。因此,要撤消该操作,您必须首先将本地分支重置为远程
主机
,然后从相应的远程分支创建新的本地
vs12up
分支

  • 重置本地
    master
    以匹配远程存储库的
    master
    (警告:在发出以下命令之前,确保没有任何要保留的未提交更改):

  • 将所有远程分支提取到本地存储库中:

    git fetch origin
    
  • 从远程
    vsup12
    分支创建一个新的本地
    vsup12
    分支,并切换到此新的本地分支:

    git checkout -b vsup12 origin/vsup12
    

  • 请注意,当您随后在切换到
    vsup12
    分支的同时执行
    git pull
    时,您将从Github上的
    vsup12
    分支获取最新更改并将其合并到本地
    vsup12

    谢谢。两个问题,-b参数做什么?我是否通过git checkout master切换回来?
    -b
    指定新分支的名称
    git checkout-bfoo
    是创建一个名为
    foo
    (使用
    git branch foo
    )的分支,然后切换到它(使用
    git checkout foo
    )的简写。在桌面上,在我按照上面的说明操作后,git状态返回#您的分支比'aav1/vs12up'早1次提交。-但它说一切都是最新的,没有什么可承诺的。这正常吗?假设您的远程设备确实被称为
    aav1
    ,而不是
    origin
    ,这将表明您在本地有一个新的提交,而该提交尚未在远程存储库中。当做上述事情时,这是不正常的。也许你无意中在两者之间拉/合并了?但我担心这不是一个单独的问题,也不是你的问题。
    git checkout -b vsup12 origin/vsup12