git branch(zz)

git中branch有三种类型:

1.local branch
本地分支,就是我们平常操作的分支,git中默认是master分支
可以通过 git branch b1 来建立本地分支,通过 git checkout b1 来切换分支

2.tracking branch

引用
A 'tracking branch' in Git is a local branch that is connected to a remote branch. When you pull on that branch, it automatically pulls to the remote branch that it is connected with.
跟踪分支是一种和远程分支有直接联系的本地分支(远程分支的本地书签、别名),跟踪分支是一种本地分支!

当我们在跟踪分支上使用git pull命令,会自动从相应的remote branch上fetch,然后在merge到该分支上
如果我们想在跟踪分支上直接使用git push命令,让它自动push到对应的remote branch上
还需要设置push的默认行为:

git config push.default tracking
当我们使用git clone命令后,会自动在本地建立一个master的分支来跟踪origin/master
我们也可以使用

git checkout -b b1 origin/master

或者
git checkout --track -b develop origin/develop
命令来手工新建一个跟踪分支develop,并切换到该分支上(该本地develop 对应origin/develop)
如果我们想把已经存在的一个分支b2转换成一个tracking branch,需要

git config branch.b2.remote origin
git config branch.b2.merge refs/heads/master


或者,我们手工修改~/.git/config文件
下面是一个tracking branch的配置信息

[branch "master"]
remote = origin
merge = refs/heads/master


3.remote branch
它实际上是指向远端服务器的某个分支,用来跟踪远程分支的变化, 也即以前提到过的origin/master分支


1,branch的建立及使用
git clone user@192.168.0.136:/media/projiect/omap4/nexttab/kernel kernel/android3.0/ //下载内核源码
git checkout -b xx //建立分支并切换到分支xx
git branch //查看当前分支的状态
git status //查看分支及当前修改过的文件
git add . //增加所有文件(如果添加某个文件,用git add file) (
git commit -a -m "branch xx test " //上传到本地git仓库,注释信息为branch xx test

git push user@192.168.0.136:/media/projiect/omap4/nexttab/kernel xx //推送xxx分支到服务器上
git clone user@192.168.0.136:/media/projiect/omap4/nexttab/kernel -b xx kernel/android3.0//下载xx分支

2,branch的管理
git branch //查看当前分支的状态

git checkout master //切换到主分支
git merge xx //合并分支xx到主分支

git branch -d xx //删除分支,如果还未合并到master,则会出现不能删除提示,用-D可以强制删除

git branch -v //查看分支的最后修改
分支前带*的为还为合并分支到master分支的,无*的为已经合并到master中,可以将无*的分支删除掉。


git branch

列出所有的分支, -r参数表示列出所有远程的分支

git branch

建立一个名为的分支,使用当前版本作为这个新分支的版本

git branch

建立一个名为的分支, 使用指定的 作为新分支的版本,这个start-point可以是其他的分支名称或者tag名称。

git branch -d

删除分支 ; 如果你要删除的分支并没有被merge到当前分支的话,将产生一个错误提示。

git branch -D

同-d,但是不管要删除的分支是否已经merge到当前分支,都会删除

git checkout

切换当前分支到 , 更新 working directory 到 所对应的版本

git checkout -b

按照的版本建立一个新的分支,然后再checkout到这个分支上。

一个特殊符号 “HEAD” 总是指向当前分支. 实际上git使用一个在.git目录中叫 “HEAD”的文件来记录当前分支:

$ cat .git/HEAD ref: refs/heads/master
示例:“master”分支是当初你执行git-clone时候,clone的一个远程repository的HEAD版本的一个copy.

$ git branch -r origin/HEAD origin/html origin/maint origin/man origin/master origin/next origin/pu origin/todo
列出所有远程版本,origin是用来表示你当初执行git-clone时候的repository,你不可以直接checkout远程repository,但是你可以根据远程repository生成一个本地repository:

$ git checkout -b my-todo-copy origin/todo http://www.haijd.net/article/index.php?action=read&id=842
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值