是什么
git是一个分布式版本管理软件,linux的内核开发者们用它管理开发linux内核.git有些像数据库软件,你创建的版本库就像是一个数据库一样,git管理你的代码,为他们做标记,做记录,节省我们自己工作开发中的备份工作,并且能够详细的记录一些版本的说明,让我们能清楚的知道所在的分支或者版本是什么情况;同时它具有很强大的回溯能力,帮助我们回滚历史.
好在哪
分布式
git是一个分布式的软件,分布式意味着,如果有多台机器,那么git可以组成一个服务器-客户端的软件版本控制架构,将本地的版本库定时的推送到远程,并在远程设置一些检测推送的处理,就可以实现自动化部署等功能;如果只有一台自己的电脑,也可以用,git可以搭建本地的版本库作为远程库,或者不使用远程库,不进行推送,只进行暂存和提交,对于自己代码的管理也是很方便的,不用复制来复制去的搞那么多的备份了.
灵活
git可以在终端(命令行)中使用,终端中的命令行可以用脚本来实现一些简单的重复性工作,比如创建库和初始化等;也可以在一些UI中使用,互联网上有许多的git gui 客户端,因为是开源嘛,git也是开源软件,并且它还提供许多的供开发git工具的接口.git的钩子可以实现很多功能,让你的版本库在提交或者推送的之前和之后,执行一些特定的任务.
小
相较其他的版本控制软件,git的体积相当的小,同时,git管理的版本库体积也很小,git是通过特征码来进行记录修改的(不明觉厉),即时分支很多,也不会很占空间(实际测试比复制备份的要小很多很多).
文档资料丰富
有很多的人/企业/组织 使用git,同时还有不少开源爱好者参与开发和学习git,这使得git相关的资料很充足,并且官方提供了许多文档说明(这很linux),大大的方便了初学者(pro git),虽然大多数是英文的,当然也有不少志愿者们翻译的中文版本.
并行开发,提高效率
git记录文件修改,在合并时自动处理文件合并,如果两个人的修改有冲突,则提示出来,让合并者处理冲突.解决了并行开发时的文件合并和文件异常修改的问题.避免了很多认为的BUG.