Git指南-分支的使用
一,Git分支简介
1.什么是git分支?
分支被称之为GIT最强大的特性,因为它非常地轻量级,如果用Perforce等工具应该知道,
创建分支就是克隆原目录的一个完整副本,对于大型工程来说,太费时费力了,而对于GIT来说,
可以在瞬间生成一个新的分支,无论工程的规模有多大,因为GIT的分支其实就是一指针而已。
2.分支的理念
分支的理念就是分身,就像孙悟空拔出猴毛变出很多跟自己一模一样的猴子,然后每个猴子做自己的事情互不干涉,等到所有猴子做完之后,猴子集合来合并劳动成果,然后悟空就把那些猴子猴孙门统统收回了。
你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,
而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,
这样,既安全,又不影响别人工作。所以说Git鼓励大量使用分支:
3.分支的指令
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支:git branch -d
更详细的内容可以参阅:廖雪峰git学习
4.冲突的处理
产生冲突的方式很多,常见的一种是创建一个分支并修改提交,然后回到主分支在修改提交同一个文件,然后“快速合并分支”就发生冲突了(如下图):
今天好高兴
今天还是很高兴
<<<<<<< HEAD
第二次修改文件
=======
lalalal
>>>>>>> develop
首先说明一下产生矛盾的原因,我在2个分支上面分别修改了readme 文件,然后进行合并,产生了冲突。(有些冲突可以git可以自动修复,修复不了,就要我们手动解决,然后提交!)<<<<<<< HEAD
表示主分支,主分支的修改是:“在master上做出修改”;>>>>>>develop
表示我创建的develop分支
出现上述情况,需自己手动打开有冲突的文件,改删除的删除,改修改的修改,然后再进行提交即可。
开发中应注重分支策略:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,
平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,
到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
(也就是说我们一般开发,在旁侧分支进行,当功能完善然后在合并到master分支上面,
不是一开始就在master分支上进行开发,一般在公司开发,也没那个权限~。~)
好了,关于分支这一块,就先介绍的道理,下一片博客,主要介绍有关git本地和远程操作(怎样把本地修改推送到远程,怎样从远程克隆仓库等)的一些常用指令和知识。