获取现有的git分支来跟踪远程分支
使用git时,我通常的工作流程如下所示:
但是,现在我希望能够从这个远程存储库中进行push
和pull
,而不必指定我要推送到哪里或从哪里拉出; 我希望我的本地主人跟踪远程主人。
这样做的正确方式对我来说并不清楚,而且我始终无法从文档中确定它,尽管它不应该只是一个命令。
因为这是每个存储库只做过一次的事情,所以我通常会采用两种简单但很冒险的解决方案之一:
git clone
来创建一个新的本地存储库,并删除旧的。 git克隆后,新的存储库被设置为追踪原点。 我想我应该能够运行一个命令,可能是某种形式的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