git分支设置upstream

Preface

如果本地的分支没有和远程的分支进行关联,在git pull/fetch的时候,会抛出大致如下的错误信息

1
2
3
4
5
6
7
8
9
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

git branch --set-upstream-to=origin/<branch> release

建立本地分支与远程分支的映射关系(或者为跟踪关系track)。这样使用git pull或者git push时就不必每次都要指定从远程的哪个分支拉取合并和推送到远程的哪个分支了。


查看本地分支与远程分支的映射关系

1
git branch -vv

upstream的设置

基本设置

执行如下命令即可将远程分支与本地分支关联

git branch --set-upstream-to=origin/remote_branch your_branch
origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支。

把当前分支的upstream为origin远程仓库的dev分支

1
2
3
git branch --set-upstream-to=origin/dev
or
git branch -u origin/dev


在推送的同时,同时设置upstream

1
git push -u origin master

推送master分支到远程origin仓库master分支,并且建立本地分支master的upstream为origin/master


不切换分支直接设置其他分支的upstream

1
git br -u origin/br01-remote br01

设置本地分支br01的upstream为origin/br01-remote

或push的时候直接设置

1
git push -u origin br03:br03


撤销本地分支与远程分支的映射关系

1
2
3
4
5
# 取消当前分支的upstream
git branch --unset-upstream

# 取消其他分支的upstream
git branch --unset-upstream [分支名]

参考

設定 Upstream
Git branch upstream
Git远程03:分支的upstream
git branch –set-upstream 本地关联远程分支

关注我的微信公众号[李一二],即时看更多的文章