git跟踪远程分支,查看本地分支追踪和远程分支的关系

跟踪远程分支

若是用git push指令时,当前分支没有跟踪远程分支(没有和远程分支创建联系),那么就会git就会报错javascript

There is no tracking information for the current branch. Please specify which branch you want to merge with. 

由于当前分支没有追踪远程指定的分支的话,当前分支指定的版本快照不知道要做为服务器哪个分支的版本快照的子节点。简单来讲就是:不知道要推送给哪个分支。
那么如何创建远程分支:java

  1. 克隆时自动将建立好的master分支追踪origin/master分支
git clone 服务器地址 
git checkout -b develop origin/develop

   git clone -b v1.0.0 git@gitlab        (v1.0.0 是分支名)python

 

在远程分支的基础上创建develop分支,而且让develop分支追踪origin/develop远程分支。git

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

branch-name分支追踪远程分支origin/branch-namegithub

git branch -u origin/serverfix

设置当前分支跟踪远程分支origin/serverfixruby

查看本地分支和远程分支的跟踪关系

git branch -vv

好比输入bash

$ git branch -vv
  develop   08775f9 [origin/develop] develop
  feature_1 b41865d [origin/feature_1] feature_1
* master    1399706 [my_github/master] init commit 

develop分支跟踪origin/develop
feature_1分支跟踪origin/feature_1
master跟踪了my_github/master,且当前分支为master分支服务器

那么假如我此时想要将master的改变推送到origin服务器的master分支上:app

$ git checkout master//切换到master分支 ... $ git branch -u origin/master//将当前分支跟踪origin/master Branch 'master' set up to track remote branch 'master' from 'origin'. 

以后就能够执行git add和git commit了
如今再查看一下本地和远程的分支关系:gitlab

$ git branch -vv
  develop   08775f9 [origin/develop] develop
  feature_1 b41865d [origin/feature_1] feature_1
* master    1399706 [origin/master] init commit 

master已经跟踪了origin/master了

也能够:

git clone XXXXXX

git checkout --track origin/org_dev

查看跟踪关系:

 

fengdeMacBook-Pro:riki fengma$ git branch -vv

 

  master  b7a26015 [origin/master] 1

 

* org_dev 5c65d305 [origin/org_dev] modify user app name

相关文章
相关标签/搜索