git------跟踪远程分支之git checkout 常用方法以及另类新解

1.如果在一个跟支上输入 git pullGit 能自动地识别哪 个服务器取、并到支。

2.如果通过git checkout -b 新创建的分支推送的时候会提示要求你跟踪远程某个分支

一、创建新分支并跟踪分支:

本地支与远程分置为不字,且关联成功:

运行 git checkout -b [本地branch名] [remotename]/[远程branch名]
这样子创建的新分支,即会和远程的对应分支相关联。
$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch serverfix from origin.
Switched to a new branch 'sf'

 远程和本地分支名字默认相同,且也关联成功:

git checkout --track [remotename]/[远程branch名]
设置默认的新分支同远程分支名相同,同时相互关联

二、跟踪未被跟踪的分支、或显式的改变跟踪的分支

未被跟踪的分支:

1.设置一个简单的新分支:由git checkout -b 创建的分支,是未被跟踪的分支

2.已被跟踪,但是想要更换跟踪其他分支

1.设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,
2.或者想要修改正在跟踪的上游分支,你可以在任意时间 使用 -u 或 --set-upstream-to 选项
运行 git branch 来显式地设置。

命令:
git branch --set-upstream-to=origin/<branch> <本地分支|或当前分支可忽略>  
//<对应远程要关联的分支名>

解释:设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支,你可以在任意时间使用 -u 或 --set-upstream-to 选项运行 git branch 来显式地设置
例子:
$ git branch -u origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.

或者

$ git branch --set-upstream-to  origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.

查看跟踪的分支:git branch -vv(是否被跟踪,且跟踪分支的落后情况)

可以使用 git branch 的 -vv 选项。 这会将所有的本地分支列出来并且包
含更多的信息,如每一个分支正在跟踪哪个远程分支与本地分支是否是领先、落后或是都有。

$ git branch -vv
  iss53 7e424c3 [origin/iss53: ahead 2] forgot the brackets
  master 1ae2a45 [origin/master] deploying index fix
* serverfix f8674d9 [teamone/server-fix-good: ahead 3, behind 1] this
should do it
  testing 5ea463a trying something new

“ahead” 是 2,意味着本地有两个提交还没有推送到服务器上。

serverfix 分支正在跟踪 teamone 服务器上的 server-fix-good 分支并且领先 3 落后 1,意味着服务器上有一次提交还没有合并入同时本地有三次提交还没有推送。 

最后看到 testing 分支并没有跟踪任何远程分支。

注意一点:
这个命令并没有连接服务器,它只会告诉你关于本地缓存的服务器数据。 如果想要统计最新的领先与落后数字,需要在运行此命令前抓取所有的远程仓库。 

可以像这样做:$ git fetch --all; git branch -vv
发布了163 篇原创文章 · 获赞 31 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/COCOLI_BK/article/details/103529719