Git 协作流程

git 是什么

git 是一个分布式的版本控制工具。为啥叫分布式的呢,通常来讲,版本控制系统都有一个共同的仓库,称之为远端仓库,有些控制软件例如svn会依赖这个远端仓库,如果你和这个仓库无法连接,比如你在一个没有网络的环境,或者你断网了,你就无法进行版本控制了,这个叫做集中式的,代表就是svn。而我们的git 是分布式的,好处就在于,虽然你没有网络,你无法访问远端的仓库,但是你仍然可以在本地进行版本控制。等你到一个有网络的环境之后,你可以把你的本地修改,同步到远端,这样就保证了你无论在何种情况下,都可以让git帮助你进行版本控制了。


我们再简单解释下版本控制这个词。如果你不是开发人员,你对这个可能不太熟悉,这也无可厚非。因为git开发出来就是为了给代码做版本控制的。但是,后面人们发现,用git 做文档的版本控制也是很方便的。所以现在,git已经不仅仅是开发人员的利器了,好多产品也会用版本控制工具来进行文档的编写。具体git如何方便文档的编写,我们下面就来举个例子。

假设你在一个团队中,你们小组有3个人,你们共同负责一个文档的编写。A负责TA部分,B负责TB部分的编写,C负责TC部分的编写,另外还要完成目录的编写。在一个没有版本控制的工作流程中,A完成了Ta,B完成了Tb,C完成了Tc,还有不知谁完成了目录部分。最后要汇总的时候,需要把A,B,C三人的文档收集起来,汇总成一个完整的文档。在这个过程中,加上这个小组的领导,想看一些每一部分的完成情况,只能联系具体的某一个人,让他们汇报一下完成情况。这样貌似也没有问题,事情也可以顺利进行下去,文档最终会顺利完成。好了,这是没有git的传统的写作模式下,我们的工作情景。
下面我们看一个利用git进行版本控制的工作情景。
首先,如果们熟练使用git,我们可以首先为我们的项目创建一个仓库,然后A、B、C三人都clone我们的仓库。然后在这个仓库上开始自己的开发。为了互相不影响,A,B,C三人会建立自己的分支,BA,BB,BC,在自己的分支上独立开发。在开发过程中,团队中的每个人都可以了解其他人的完成程度。并且在三个人都完成了自己的部分之后,可以很容易的将这三部分合并起来。完全不用找每一个人,让他把文档传给你,不再需要这些额外的沟通,和额外的合并工作,同时,文档的合并也会非常简单,就算有两个人同时修改了目录部分,合并起来也不会太复杂,比我们人工去维护文档会简单很多。我们只需要借用git的合并功能,git会很聪明的帮我们合并好,绝对可靠,高效。

用git开发,还会将你开发过程中的每一步都记录下来。如果你在最终版本中找到一个bug,顺着git的提交记录,你可以很清楚的知道这个bug 的由来,是谁引入的,这些都清晰可见。用git之后,一切都是透明的,如果有一个稳定的远端仓库,那么你的文档也很安全,就算你本地的文档丢了,你也可以不太费劲的将文档再clone下来。

所以,当我们在一个团队中工作时,一旦需要一些文档上的协作时,用git可以很大程度上提高我们的协作效率。

使用git进行版本控制

关于git 的入门教程,网络上已经有很多版本了,并且有一些也相当不错,这里我就不再重复造轮子了,在我的博客中,我不会从0写git如何入门,但是我会将一些我认为比较有用但是不为大家所熟知的关键的用法。
这里我先简单讲一下我学习git的历程。我对git的了解也是从0开始的,虽然我是计算机专业,但是在学校学习的过程中,并没有哪个老师向我们提起git过,更不会有人教过我们相关的什么。相反,我是从同学那里了解到linux,然后了解到git的。

  1. 首先当然是查资料,各种入门教程,都可以看一下。
  2. 其次就是实践了。可以注册一个git的平台账号。当然可以选github,但是给入门用户,我推荐coding.net 。这个是国内的,访2问速度比较好,并且创建私人仓库是免费的,这样可以方便我们实践学习。
  3. 在你通过阅读教程学习了基本的git用法之后,就需要多练习了。你可以创建一些自己的文档,用git来进行控制。当然一直是你一个人的话,可能不会用到太多的git的用法。
  4. 加入一个团队,真正的多人协作是你学习git的最佳途径。一个人的话,你可能连代码冲突都遇不到。在一个多人协作的团队中,可以帮助你你学习更多的git的用法。更容易遇到一些你不能解决的问题,遇到这种情况,不要紧张,要注意思考遇到的问题,把他们的关键词抽取出来,然后用这些关键词去google搜索,这是你学习的最佳时机。
  5. 总结自己遇到的问题,记录下这些case,自己辛苦学来的东西,不要轻易丢掉哟。
  6. 实践,多实践,一边实践一遍看文档。

git 的多人协作

在工作中使用git的时候,需要注意2点。

  1. 注意经常更新本地仓库,就是 git pull
  2. 在发生冲突的时候,不要紧张,看下一自己能不能解决冲突,解决不了的话要找另一个分支的作者来一起看,因为他的代码只有他懂,所以一定不要自作主张,随便已合并,就完事了。上次我在休息区休息,就听到一个有关代码冲突处理不当引起的事故批斗会。
  3. 注意分支开发。
  4. 当分支代码合并主干后,就删除自己的分支,因为留着也没什么意义的。分支不是什么重要的东西,没有价值的话,最好删掉。当然,删之前保证你的分支已经合并了,不然删了的话你的劳动成果就没有了。

参考资料

Git教程
w3c git教程

点赞

Leave a Reply

Your email address will not be published.