创建分支
$ git branch bra //创建一个新的分支bra
$ git checkout -b bra //创建一个新分支bra,并切换到bra分支
删除分支
- 删除本地分支
$ git branch -d bra //删除本地分支bra,删除时先切换到其他分支,再执行上述命令进行删除
- 删除远程分支
$ git push origin :bra //删除远程分支bra
查询分支
$ git branch //查看全部本地分支
$ git branch -r //查看远程分支
$ git branch -a //查看全部本地和远程分支
分支切换
$ git checkout bra //切换到分支bra
切换分支时要将现有分支的修改进行提交或者暂存,不然切换会存在错误。
提交分支到远程
$ git push origin master
需要说明的是,默认情况下 这条语句等价于提交本地的master分支,到远程仓库,并作为远程的master分支,这里的master为远程的分支。如果想把 本地的某个分支test 提交到 远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,可以像下面这样做:
$ git push origin test:master // 提交本地test分支 作为 远程的master分支
$ git push origin test:test // 提交本地test分支作为远程的test分支
下载分支
- 第一次获取,无本地仓库
$ git clone //克隆仓库,只包含了远端git库的当前工作分支
- 第一次获取,获取其他分支
获取其他分支前,先执行”git branch -r”或则”git branch -a”查看远程现有分支,再按下面命令获取远程分支:
$ git checkout -b bra1 origin/bra2 //将远程分支bra2获取到本地,并命名为bra1
$ git checkout -t origin/bra2 //将远程分支获取到本地,命名和远程分支名相同
- 本地分支已存在,更新分支
$ git fetch origin bra //将远程分支bra下载到本地仓库,如果不写bra,则把所有的分支都下载到本地仓库
$ git merge bra origin/bra //将远程的分支bra同步到本地分支bra,如果本身在bra下,可以直接git merge origin/bra
本操作也可以合为一步:
$ git pull origin bra //相当于fetch加merge
推荐用git fetch,因为在merge前,我们可以查看更新情况,然后再决定是否合并。
合并分支
$ git merge bra1 bra2 //如果操作在bra1分支下,可以省略bra1
Git追踪分支
原文:http://gitbook.liuhui998.com/4_7.html
在Git中‘追踪分支’是用与联系本地分支和远程分支的. 如果你在’追踪分支’(Tracking Branches)上执行推送(push)或拉取(pull)时, 它会自动推送(push)或拉取(pull)到关联的远程分支上.
如果你经常要从远程仓库里拉取(pull)分支到本地,并且不想很麻烦的使用”git pull “这种格式; 那么就应当使用‘追踪分支’(Tracking Branches).
‘git clone‘命令会自动在本地建立一个’master’分支,它是’origin/master’的‘追踪分支’. 而’origin/master’就是被克隆(clone)仓库的’master’分支.
译者注: origin一般是指原始仓库地址的别名.
你可以在使用’git branch’命令时加上’–track’参数, 来手动创建一个’追踪分支’.
git branch –track experimental origin/experimental
当你运行下命令时:
$ git pull experimental
它会自动从‘origin’抓取(fetch)内容,再把远程的’origin/experimental’分支合并进(merge)本地的’experimental’分支.
当要把修改推送(push)到origin时, 它会将你本地的’experimental’分支中的修改推送到origin的‘experimental’分支里, 而无需指定它(origin).