文章目录
前言
- 在进行大文件传输或修改的时候总会遇到存储或传输压力大的问题,而Git在版本迭代方面非常出色。
- 在撰写毕业论文或其他大型论文时,一篇文章通常需要经过反复修改,往往我们通过复制文件对其重命名来进行版本的标识。这样不仅浪费存储空间,同时,文件管理起来也相当不便。Git作为常用的版本分布式管理软件有效地解决了这一问题,让我们可以对每次改动进行有效的管理;Pandoc是常用的标记语言转换工具,可实现不同标记语言间的转换(HTML、Word、Ebooks、PDF、TeX…)。下面介绍使用Git+Pandoc的搭建过程。
- 值得一提的是,
git
适用于管理纯文本文件,这也是绝大多数程序管理大型项目代码版本迭代的方式(所有代码的源文件都是纯文本文件),但.docx
文档显然不属于纯文本文件,所以才需要安装Pandoc对其进行转换。git这个用于分布式文件的版本控制系统本就不是为.docx
这种二进制文件设计的,所以整个版本控制过程略显生硬。这也是不少人选择Latex而不是Word的一大原因之一(Latex源文件是纯文本文件)。
准备
你需要做好如下准备工作:
- 安装git 官网下载,一路next,记住安装路径
- 安装Pandoc 官网下载,一路next 安装完成界面
配置文件
- 配置环境变量- 找到pandoc的安装路径,我的是
C:\Users\30954\AppData\Local\Pandoc
- 我的电脑→属性→高级系统设置→环境变量→Path→编辑(将上述路径加入即可) - 配置文件- 找到git的安装路径,打开配置文件 gitconfig (我的路径是
D:\setup\Git\Git\etc\gitconfig
)- 加入以下内容
[diff "pandoc"]textconv=pandoc --to=markdown
prompt =false[alias]
wdiff =diff --word-diff=color --unified=1
- 在工程目录下(就是你写word的文件)新建一个文本,后缀改成.gitattributes,里面内容写入
*.docx diff=pandoc //doc也行
开始写作
- 配置用户名和邮箱 - 工程目录下右击→Git Bash Here- 输入下列内容
git config --global user.name "username"git config --global user.email "email" //这一步完成后会在前面的.config文件夹中出现你的配置信息
- 新建文档 - 在工程目录下新建一个测试文件,命名为
论文.docx
,随便输入一些内容 - 在该目录下打开Git bash,输入如下命令
git init //目录初始化
gitadd. //将该目录下所有文件加入进来(相当于把目录下的文件加入一个仓库方便你管理)
git commit -am "初始提交" //对改动版本进行标识
- 界面如下
- 在文档中做一些修改并保存
- 输入git wdiff查看修改内容(白色为未修改部分,绿色为修改部分)
- 再次提交修改并查看提交日志
git commit -am "改动1"git log 论文.docx //查看历史版本
- 版本回退- 这是使用git管理word文档的核心价值所在
git reset --hard version //version就是上图中commit之后的版本号,选择对应版本号即可
- 此时已经回退到初始提交的版本
- 当回退到很早之前的版本后,此时输入
git log
只能查看到该版本之前的所有版本日志,那如果我们又想reset到最新的某个版本呢?此时可输入git reflog
查看文档版本变换的所有过程,并可以查看对应版本号。 - git命令总结
git init //初始化
gitadd file.doc //加入指定文件,偷懒的话可以直接 gitadd.git commit -am "版本标识符" //版本标号
git wdiff //查看当前改动
git log //查看历史版本
git reset --hard vesion //版本回退
git status //查看当前数据
pandoc -s file.docx -t markdown -o file.md //pandoc强大之处,可直接进行文件转换;这里是将.docx转换为.md文件,在相应的工程目录下会多出一个markdown文件
以上所有的git命令后面都可以加特定文件名,比如
论文.docx
文件夹,我们输入git add te 按tab就可出现全名,这样方便我们对指定文件进行操作
最后
由于git对word文档的版本管理就是单纯的复制多个文件,远不像纯文本文件那样方便,所以当你进行多次commit后,可能文档本身的大小只有2M,但工作目录的的大小已经达到200M,这是完全有可能的。
如果你想更方便的使用git进行论文版本控制,建议你使用Latex(Latex的论文排版也是其一大优势,但是在
所见即所得
这一方面就远不如
Microsoft Word
这类富文本文档了)
版权归原作者 冷冰殇 所有, 如有侵权,请联系我们删除。