有识

个人网 | 追寻一切真知灼见

用户工具

站点工具


侧边栏

博主公告

想读书,想旅游,想运动,但是没有时间?其实我们不是没有时间,只是没有真正把想做的事情,放在重要的位置上,或者干脆没时间搞清楚到底那件事情对你来说更重要。^_^ 欢迎大家收看《程序员带你学打羽毛球》 和博主一起加入运动的行列。 ease 11:53 - 08月02日




最新博文》更多博文

分类索引

博主简介
吕某某 Leo
河北人,网名:ease
资深IT菜鸟,创业者
兴趣爱好:
人工智能,运动,读书,coding
人生格言:
命由己造 相由心生 有容乃大 无欲则刚 》博主管理》关于博主


blog:ease:git:git-basic9

远程分支

前面章节讲解过 远程仓库 的建立,代码的拉取和推送。 这节内容主要讲解远程仓库的分支和 本地分支的对应关系和操作。

查看远程分支

git ls-remote 远程分支完整列表
git remote show (remote) 获得具体远程分支的详细信息

拉取

注意:git fetch origin/master 后。本地不会建立 “可编辑”副本。

  • 不会和自己的 master 合并。
  • origin/master 只读不可移动。origin/master 不会移动。是远程状态的引用。除非 fetch 新数据时
  • 如果是初次fetch 可以用 git checkout -b master origin/master 来基于远程跟踪分支建立本地分支
  • 或者分fetch 后再 checkout 同名分支也可以

跟踪分支

从远程跟踪分支检出一个本地分支 会自动创建一个叫做“跟踪分支”(本地分支,只是明确了跟踪哪个远程分支)跟踪分支上 输入 git pull 会自动合并远程分支的代码。

创建跟踪分支的快捷操作:

$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

(举例:新克隆一个仓库,不包含某个分支。然后创建跟踪)

创建不同名字的跟踪分支:

$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch serverfix from origin.
Switched to a new branch 'sf'

设置当前分支跟踪 一个指定的远程分支:
(比如你的的代码是拷贝过来的,里面有不准确的跟踪信息)

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

将所有的本地分支列出来并且包含更多的信息,如每一个分支正在跟踪哪个远程分支与本地分支是否是领先、落后或是都有

$ 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

注意这只是最后一次 fetch 后的结果。要想获取最新结果。需要

$ git fetch --all
git branch -vv

拉取:git fetch 获取数据的唯一方式,只是获取并不合并。
拉取并合并:git pull 不但获取同时合并。

删除远程分支

$ git push origin --delete serverfix
To https://github.com/schacon/simplegit
 - [deleted]         serverfix

删除后执行 git ls-remote

修改远程分支

git remote set-url origin url.....

推送

  • 分享一个分支。注意是分享一个分支。而不是整个版本库。
  • 不会自动同步必须用命令显示的推送。
  • 把不想推送的内容放到私人分支上。
  • 如何来整理分支,下面的章节会提到通过rebase 变基,向开源项目推送自己的代码。
git push (remote) (branch)
git push origin serverfix:serverfix

推送到命名不同的分支上

git push origin serverfix:awesomebranch
blog/ease/git/git-basic9.txt · 最后更改: 03:42 - 09月02日 (外部编辑)