我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
我知道如何创建跟踪远程分支的新分支,但如何使现有分支跟踪远程分支?
我知道我可以编辑.git/config文件,但似乎应该有一种更简单的方法。
当前回答
使用“--track”选项
在一次git拉动后:git checkout--track<远程分支名称>或:git获取和git签出<分支名称>
其他回答
确保您运行:
git config push.default tracking
能够顺利推进
您可以执行以下操作(假设您已在master上签出并希望推送到远程分支master):
如果您还没有“远程”,请设置它
git remote add origin ssh://...
现在配置master以了解跟踪:
git config branch.master.remote origin
git config branch.master.merge refs/heads/master
并推送:
git push origin master
我这样做是因为使用-u选项推送的副作用,如
$ git push -u origin branch-name
等效的长选项是--set upstream。
gitbranch命令也理解--set upstream,但它的使用可能会令人困惑。1.8.0版修改了界面。
gitbranch-set-upstream已被弃用,可能会在较远的将来被删除。git分支[-u|--setupstreamto]是以更合理的参数顺序引入的。…很容易说git-branch——set-upstream-origin/master,但这告诉git安排本地分支“origin/matter”与当前签出的分支集成,这不太可能是用户的意思。该选项已弃用;改为使用新的--set upstream to(带有一个短而甜的-u)选项。
假设您签出了一个本地foo分支,并希望它使用与其上游同名的分支。让这一切发生
$ git branch --set-upstream-to=origin/foo
您可能会发现git_remote_branch工具很有用。它提供了创建、发布、删除、跟踪和重命名远程分支的简单命令。一个很好的特性是,您可以要求grb命令解释它将执行哪些git命令。
grb explain create my_branch github
# git_remote_branch version 0.3.0
# List of operations to do to create a new remote branch and track it locally:
git push github master:refs/heads/my_branch
git fetch github
git branch --track my_branch github/my_branch
git checkout my_branch
简而言之
git branch --set-upstream yourLocalBranchName origin/develop
这将使您的LocalBranchName跟踪名为develop的远程分支。