什么是 Git

Git 是一个版本控制(Revision control)工具。

什么是版本控制?

版本控制(Revision control)是维护工程蓝图的标准作法,能追踪工程蓝图从诞生一直到定案的过程。此外,版本控制也是一种软件工程技巧,借此能在软件开发的过程中,确保由不同人所编辑的同一代码文件案都得到同步。拓展阅读

按下 Ctrl + S 就是最简单的版本控制方法。例如你写完了某个模块,某个组件,甚至某个函数某个功能,都可以进行版本控制。

版本控制,对版本的控制或者说计数不是目的,目的是为了提高开发效率,尤其是团队内的开发效率。

Git 的工作模式

Git 的流程像是一棵树,一棵有根树。

当我们新建一个 Git 项目,就创建了根节点。然后我们每次从任一节点开始编辑到结束的时候,就产生了该节点的叶子节点。我们可以从任一节点上开始我们的工作,但往往没有必要,因为我们通常只需要一份代码和多个人工作,不是所有节点我们都是需要的。

正在 Live 服务器上跑的代码,往往是 Master 分支。(这个没有规定,但是往往这么做)

比如说同事 A 正在修改模块 a,而同事 B 正在修改模块 b。这时可以产生两个分支 devA 和 devB。同事 A 先写完以后,提交了代码,还将 Master 合并了。而同事 B 则需要 pull 一下同事 A 的改动,才能提交代码了(前提是 B 不会强制提交 --force,这样会将他的(临时)分支强制覆盖 Master)。

比如说同事 A 正在修改模块 a,而同事 B 也正在修改模块 a。这个时候 Git 就不乐意了,他不知道哪里是需要的,哪里不要的。这个时候需要人工来判定,这种情况 Git 不作出选择是正确的而且合理的,代码是人写的,应该根据需求来由人来判定。

Git 更像是走哪条路,如果分叉了,就需要大家一起走回那一条路。

Git 的一些操作

push : 将当前内容 推 到某个分支
pull : 从某个分支 拉 某些内容
checkout : 换到某个分支上去
fetch : 拉取分支信息
merge : 合并分支

除了 Git 以外,我们还可以怎样版本控制

把一个文件锁起来,不让别人修改。这样做可以保证单个文件不被多人修改,能保证单个文件不会出现人工选择,当然这样效率不是特别高。

让专员来控制代码,只准进,严格出。这样在修改代码时会变得慎重,但是无法让所有人都及时拥有代码。显然是个过时的操作。

几个人一个小组,每个小组拥有一堆代码,然后一个团队多个小组拥有公共代码库。这是 SVN 的模式。显然小组与小组之间会多了道缝隙。

Git 的另外用处

GitHub 程序员交友网站 (大雾)


上山不易,披荆斩棘才能善始;下岭更难,临渊履薄方可令终