正如作者前期的一篇文章对现代高效写作方式和传统word写作方式的详细对比分析中提到的写作版本控制的问题,git是版本控制的不二选择,宇宙最受欢迎的版本控制工具,没有之一!本文就悉数从零基础开始使用git进行写作(以写作为例,其他科研任务与之相同)控制的一二三。
简介
介绍版本控制的必要性、版本控制的哲学、版本控制的工具以及git是什么
为什么要版本控制?
大家在写作过程中肯定遇到过这样的情形(比如毕业论文):在自己的毕业论文主目录下面保存一大堆不同命名方式的文件,比如 xx完成前两章备份.doc
, xx写完一半备份.doc
, xx导师修改版.doc
, xx师兄修改版.doc
, xx送审取消个人信息版.doc
, xx系统提交版.doc
。看到自己的这一堆文件什么感觉
上面列举的这个各种备份文件,无非是为了备份不同时间节点或者不同事件节点的论文版本。这就是所谓的版本控制,用英文说就是 Version Control (方便您在Google搜索资料) ,当然了这是一种传统的效率最低的版本控制方法!
版本控制哲学
当计算机刚出世的时候,大家只要能做这个事儿就已经很幸运了,也不会思考其效率的问题(比如我导师当年学生时期编程还是打孔方式...)。但是现在计算机硬件和软件和软件发展如此迅速,思维依然还停留在老的时间点上其实是不符合时代发展规律的!
版本控制追求的是以最小的体积存储所有用户提交的版本信息和内容;以极其方便的方式回退到不同版本;以简单至极的方式对不同版本进行对比,查找其中的差异;以效率最高的方式推送到云端以及从云端拉取!
版本控制工具
为了实现上面所追求的目标,提高工作效率,有大神们已经开发出来了版本控制。开源!免费!
常用的就是 git 和 svn,但是随着github和国产的coding的普及、大量开源社区对git的推广以及git本身的优点,使得git占据了版本控制的大部分市场! [1][2]
git
git是分布式版本控制软件,最早由 Linux Torvalds创建 (看这伙计的名字就知道是干嘛的了,实至名归的大神!!!),最初的目的是为了方便的控制Linux系统内核。
网上有很多关于git的教程,个人感觉廖雪峰讲的比较通俗易懂,当然了git使用本来就不是个难事儿!
后面我会针对写作过程中的常用命令进行逐个讲解和演示,但不包括windows系统下的使用过程演示!!!虽然git是跨平台的,在windows下也可以使用,但是由于win系统下的终端命令的渣渣属性使其用起来稍微不舒服!不过在win 10 的subsystem下面也可以完美使用!参见win 10系统下打造科研环境。