当前位置: 首页 > news >正文

文档团队怎样使用GIT做版本管理

有不少小型文档团队想转结构化写作和发布,但是因为有限的IT技能和IT资源而受阻。本文为这样的小型文档团队而准备,描述怎样使用Git做内容的版本管理。


- 1 -

为什么需要版本管理

当一个团队进行协同创作内容时,有以下需要:

  • 在对文档做新版本的修订时,希望获得老版本的内容做修改并发布

  • 当对内容做修改后,想回到修改前的状态

  • 当团队成员共同修改内容时,希望避免彼此覆盖对方的修改

  • 需要获得同一个文件的两个版本,对比查看有什么改动

  • 防止内容因磁盘损坏等原因而丢失

版本管理软件就是为解决以上问题而设计。 

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。它最初是为管理软件代码而设计,现在很多的文档采用DITA、Markdown等纯文本格式来编写,Git也适合用于对文档进行版本管理。

- 2 -

版本修订过程

下边是文档团队使用Git来做内容编辑和发布的过程。我们用Gitee和Github desktop来说明。 

注:这里描述的不是唯一的方法,它是一种相对简单的做法。 

1. 创建仓库

在浏览器中注册用户并登录www.gitee.com,可以通过以下步骤创建内容仓库:

2. 增加内容

首先,使用Git客户端软件(Github Desktop)在个人电脑上将Gitee上的内容仓库克隆(Clone)到本地,这个操作只需要做一次。

 上图的Repository URL填写Gitee上创建的仓库URL,从下图处获取:

内容放在本地磁盘的C:\dev\dyson目录,目前目录中无内容。

然后,我们添加内容。

比如:在C:\dev\dyson目录中创建topics和graphics子目录,然后将手册的图放到graphics目录中,将DITA Topic文件放到topics目录中,ditamap文件则直接放在C:\dev\dyson目录。这些内容是使用Oxygen XML Editor、Windows画图等工具创建的。

最后,我们对内容进行提交并推送到Gitee服务器。

请在Description输入栏中输入这次做了什么变动,以后我们通过看Description知道每次提交做了哪些修改。

我们可以多次执行这一步,每次提交都会被记录在git中。

如果别的团队成员之前做过提交和推送的动作,那么在Github Desktop上可以看到"Pull Origin - 1"这样的界面。点击“Pull Origin"会将最新的代码从gitee拉到本地并与你的修改合并,这样可以防止覆盖其他成员的修改。

3. 1.0定稿

当内容修订完成,我们对内容进行发布。

如果发布结果通过了审核,开始正式生效。那么我们在gitee上为当前内容创建标签(Tag):

标签记录的是当前这一时刻内容仓库的内容。随着时间推移,内容会被修改。未来某一天,我们可以通过这个标签获得当前这一刻的内容。

4. 为2.0做修改

在文件夹中增加新的文件或者对已经存在的文件做修改,然后发布文件为PDF等格式。

启动内容审核流程,对内容进行定稿发布2.0版的内容。

5. 2.0 定稿

遵循第3步所列步骤,创建V2.0的标签。

后续版本修订遵循以上第4步和第5步。

- 3 -

其他操作

1. 查看变更

- 4 -

总结

引入版本管理功能以后,能够实现:

  • 记录每个文件变更的历史,随时可以获取历史版本内容

  • 避免团队成员之间覆盖对方的修改

  • 不担心在个人点因磁盘损坏或者设备丢失造成内容丢失

 

 

 

http://www.lryc.cn/news/38075.html

相关文章:

  • 【java】Java中-> 是什么意思?
  • 网络类型部分实验
  • java教程--函数式接口--lambda表达式--方法引用
  • java——代理
  • kubernetes中service探讨
  • Python3实现“美颜”功能
  • 【创建“待选项”按钮02计算坐标 Objective-C语言】
  • 自组织( Self-organization),自组织临界性(Self-organized criticality)
  • Elasticsearch:集群管理
  • 华为OD机试题 - 非严格递增连续数字序列(JavaScript)| 机考必刷
  • lc23. 合并K个升序链表
  • Java笔记029-泛型
  • 港科夜闻|香港科大与中国联通成立联合实验室,推动智慧社会研究发展
  • 制作一个简单的信用卡验证表
  • 牛客小白月赛68
  • 【id:21】【20分】A. DS单链表--类实现
  • 【实习_面试全程辅导分享】简历篇
  • 【学习笔记】CF1305 Kuroni and Antihype
  • json-server单独使用或者在react中进行使用
  • 【6G 新技术】6G数据面介绍
  • 【AI绘图学习笔记】深度前馈网络(一)
  • 目标检测笔记合集
  • 《计算机网络》期末复习笔记
  • linux下安装SonarQube
  • MyBatis-Plus(狂神)
  • Python3实现写作
  • UEFI实战--------HII之uni文件
  • 基于Spring Boot集成MyBatis-3.5.9操作数据库
  • 了解国外SEO负面压制的现状与应对策略!
  • Yolov5-交通标志检测与识别