代码之家  ›  专栏  ›  技术社区  ›  Bob Ray

如何将git原点更改为特定的分支?

  •  0
  • Bob Ray  · 技术社区  · 8 年前

    我在GitHub(3.x)上克隆了一个特定的分支,但origin被自动设置为另一个分支(2.x)。

    我只想在3号上工作。x分支(绝不是2.x分支)。我宁愿使用git-pull-origin,也不愿使用git-pull-origin/3。十、

    更改默认拉动位置的最佳方法是什么?

    2 回复  |  直到 8 年前
        1
  •  3
  •   Kerem Sanjucta    8 年前

    据我所知,你想改变你的 origin/branch url,但无需。只需针对您的问题检查两种不同的方法。

    $ git clone https://github.com/somegreatpath/somegreatproject.git
    $ cd somegreatproject
    

    检查此时使用的分支:

    $ git branch    
    * 2.x
    

    查看您想要的分支

    $ git checkout -b 3.x origin/3.x
     Branch 3.x set up to track remote branch 3.x from origin.
     Switched to a new branch '3.x'
    

    确认您现在正在使用所需的分支:

    $ git branch    
    * 3.x
      2.x
    

    如果要稍后再次更新代码,请运行 git pull :

    $ git pull
    Already up-to-date.
    

    您还可以更改 origin .首先,检查当前远程url:

    $ git remote -v
    * origin  git@github.com:USERNAME/REPOSITORY.git (fetch)
    * origin  git@github.com:USERNAME/REPOSITORY.git (push)
    

    设置新url

    $ git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
    

    验证远程URL是否已更改。

    $ git remote -v    
    * origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (fetch)
    * origin https://github.com/USERNAME/REPOSITORYUSERNAME/REPOSITORY.git (push)
    

    希望,这是帮助!

        2
  •  0
  •   Bob Ray    8 年前

    在这种情况下,无法让“git pull origin”工作来拉动3。x分支,因为它不是远程回购的默认分支。

    经过一些实验,最好的解决方案是这样的(从父目录发布):

    git clone -b 3.x --single-branch  git@github.com:user/reponame.git your_subdirectory
    

    这可以防止其他分支被克隆,并将其设置为“git pull”本身,自动从远程3进行拉取。x分支。

    它还消除了“git pull-origin”或“git diff-origin”(这将引用远程的默认2.x分支)的潜在错误。除非引用已克隆的特定分支,否则这些命令不起作用。