Git 之 初 体 验
作者 / 王二哈
原文 「Git 之 初 体 验」 发布于公众号「麻省二哈 」
1.
有写过稿子的小伙伴么?稿件文档不断被修改,突然需要还原到很久之前编辑的状态,你是不是崩溃啦?不断撤销「Ctrl + Z」也是不管用的。
最简单的方法就是先备份编辑前的文档。使用这个方法时,我们通常都会在备份的文档名或目录名上添加编辑的日期。但是,每次编辑文档都要事先复制,这样非常麻烦,也很容易出错。
如果像上图那样毫无命名规则的话,是根本无法区分哪一个是最新的文档。如果是共享文件的话,应该加上编辑者的名字。还有,那些文档名字没有体现修改内容。
另外,如果两个人同时编辑某个共享文件,先进行编辑的人所做的修改内容会被覆盖,相信大家都有这样的经历。
2.
为了解决上述的问题,二哈曾经还做过「目录及文件名命名规范」探索。具体是项目目录下面有四个目录分别是任务、进行、完结、汇总。
项目开始后把任务目录下的相关任务文件复制到进行目录下。根据任务在进行目录下产生新的文件,经过几个合作者的不断修改,最终审阅合格,把最终版文件复制到完结目录下。每月任务汇总时把完结目录下的最终版文件剪切到汇总目录,其他目录清空。
就这样二哈才勉强搞定了文件版本管理,但是管理起来费时费力,每一个过程疏忽一下,版本管理计划就等于泡汤。
Git 版本管理系统就是为了解决这些问题应运而生的。
3.
Git 是一个分布式版本管理系统,是为了更好地管理Linux内核开发而创立的。
Git 可以在任何时间点,把文档的状态作为更新记录保存起来。因此可以把编辑过的文档复原到以前的状态,也可以显示编辑前后的内容差异。「下图差异是空格」
而且,编辑旧文件后,试图覆盖较新的文件的时候(即上传文件到服务器时),系统会发出警告,因此可以避免在无意中覆盖了他人的编辑内容。
用Git管理文件的话,更新的历史会保存在Git,所以不需要备份文件啦。这是非常方便的!