码迷,mamicode.com
首页 > 其他好文 > 详细

Git学习笔记(二)

时间:2014-09-01 19:25:03      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   div   log   sp   

1、创建并切换到分支

$ git checkout -b dev
//等同于
$ git branch dev
$ git checkout dev

查看分支

$ git branch

然后就可以在分支上add和commit

切换回master分支

$ git checkout master

合并后可以删除分支

$ git merge dev //合并
$ git branch -d dev //删除

2、合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

$ git merge --no-ff -m "merge with no-ff" dev

实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

3、bug分支

Git提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:

$ git stash

修复bug后恢复并删除stash

$ git stash pop

查看stash

$ git stash list

4、新功能 feature分支

开发一个新feature,最好新建一个分支;

如果要丢弃一个没有被合并过的分支,可以通过git branch -D name强行删除。

5、查看远程库信息

$ git remote

更相信的信息:

$ git remote -v

6、

  • master分支是主分支,因此要时刻与远程同步;

  • dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步;

  • bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug;

  • feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

7、

多人协作的工作模式通常是这样:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

8、创建标签

$ git tag v1.0

查看标签

$ git tag

对某一次commit打标签

$ git tag v0.9 6224937

说明文字

$ git show v0.1

删除标签

$ git tag -d v0.1

推送远程

$ git push origin v1.0
$ git push origin --tags //一次性推送全部尚未推送到远程的本地标签

删除远程标签

$ git tag -d v0.9 //先删除本地
$ git push origin :refs/tags/v0.9 //再删除远程

9、克隆远程库

git clone git@github.com:michaelliao/bootstrap.git

 

Git学习笔记(二)

标签:style   blog   color   io   ar   for   div   log   sp   

原文地址:http://www.cnblogs.com/zjzhome/p/3949831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!