获取现有的git分支来跟踪远程分支

使用git时,我通常的工作流程如下所示:

  • 创建一个本地存储库
  • 在该存储库中做一些工作,添加/更改文件等。
  • 决定我希望存储库的中央远程位置,然后创建一个
  • 将所有提交从本地存储库推送到此新的远程存储库
  • 但是,现在我希望能够从这个远程存储库中进行pushpull ,而不必指定我要推送到哪里或从哪里拉出; 我希望我的本地主人跟踪远程主人。

    这样做的正确方式对我来说并不清楚,而且我始终无法从文档中确定它,尽管它不应该只是一个命令。

    因为这是每个存储库只做过一次的事情,所以我通常会采用两种简单但很冒险的解决方案之一:

  • 使用git clone来创建一个新的本地存储库,并删除旧的。 git克隆后,新的存储库被设置为追踪原点。
  • 手动编辑.git / config来创建主音轨。
  • 我想我应该能够运行一个命令,可能是某种形式的git remote以便设置一个现有的存储库,让主站跟踪远程主站。 谁能告诉我那个命令是什么?


    使用set-upstream arg:

    git branch --set-upstream local-branch-name origin/remote-branch-name
    

    运行上述命令可以正确更新.git / config文件,甚至可以使用此输出进行验证:

    “分支本地分支名称设置为从原点跟踪远程分支远程分支名称”。

    编辑:正如martijn所说:“在版本Git v1.8.0中,--set-upstream已弃用,请使用--set-upstream-to来代替。

    git branch --set-upstream-to local-branch-name origin/remote-branch-name
    

    看到这个更多的信息。


    git help remote应该告诉你你需要知道的东西。 我想你想要的是

    git remote add [remote-name] [remote-url]
    
    # Set a local branch to follow the remote
    git config branch.[branch-name].remote [remote-name]
    
    # Set it to automatically merge with a specific remote branch when you pull
    git config branch.[branch-name].merge [remote-master]
    

    您也可以手动编辑.git / config来设置它们。


    如果你想创建一个新的本地分支来跟踪远程分支,你也可以使用它:

    git checkout --track -b [branch_name] --track origin[or other remote name]/[remote_branch_name] 
    

    甚至更好:

    git checkout -t origin/branch_name
    
    链接地址: http://www.djcxy.com/p/4551.html

    上一篇: Getting existing git branches to track remote branches

    下一篇: Changing the Git remote 'push to' default