git常见使用场景


廖雪峰老师关于git一遍教程写得通俗易懂、逻辑合理,同时还给出了他常用的git管理经验。此篇文章可以算是廖雪峰老师git教程的读书笔记和自我总结。

场景一:创建版本库

场景二:查看工作区状态

git分为工作区和版本库两大块,其中版本库(.git文件夹)分为stage和代码分支,如下图所示。

git_repo

场景三:版本回退

场景四:文件修改管理

1.添加修改到stage

2.放弃工作区的修改

3.放弃已经添加到stage的修改

场景五:远程库管理

  • 要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
  • 要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

场景六:分支管理

1.git分支的fast forward

2.创建dev分支

3.merge开发分支到master

4.解决分支merge的冲突问题

5.bug修复分支

6.新特性开发分支

场景七:标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

附录

1.分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:

git-br-policy

2.未完待续

TODO(edony): add more git skills.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s