-
Notifications
You must be signed in to change notification settings - Fork 135
使用 Git 管理翻译的文档
先装好这两个:VS Code 和 Git ,参考这篇 ,这里就不细说了。
心理准备工作: 先镇定一下情绪,不要被本文的长度吓住,内容不多,都是图片!
都是基本操作,非常简单,旨在给不熟悉git的同学,说明一下使用流程,简单过一遍就行了!
会用的同学,完全没必要看了。
行文随意,语言粗糙,内容简单,以图为主,非常啰嗦。
-
注册并登陆 GitHub(略)。
-
来到咱们的总项目(你好像已经来了):https://github.com/dotnetcore/aspnetcore-doc-cn
-
先点一下星星,再按一下 Fork 按钮,如图:
-
如果提示让你选头像,选择自己就行了
这就复刻完成了,注意观察一下,和上游仓库页面的不同。
1.在你硬盘里找一片空地,比如 d:\docs
2.打开命令行,cd 到这个文件夹
3.去自己的项目页面上获取自己的项目 git 地址,注意是自己的项目地址,如图:
我的地址就是:https://github.com/YaoaY/aspnetcore-doc-cn.git
4.执行 git clone https://github.com/YaoaY/aspnetcore-doc-cn.git
,稍等片刻,如图:
5.好了,这样项目就克隆到我们本地了。要用 VS Code 打开项目进行编辑,建议采用以下步骤:
- 资源管理器直接切换到项目文件夹下,即本例中的
D:\Docs\aspnetcore-doc-cn
- 在该文件下,按住Shift的同时,在空白处点击右键,这样弹出的菜单,会有‘在此处打开命令窗口’的选项,选择它就打开了命令行窗口。
- 注意这样打开的命令行窗口直接就定位在项目文件夹上的,所以可以直接通过执行
code .
(不要忘了这个点) 启动 VS Code 并加载该文件夹。
现在 VS Code 已经启动并且打开了我们的项目文件夹:
点击左边的 Git 图标,可以看到当前的文件更改状态(图上还没有修改文件,所以没有);注意左下角的分支信息,显示的 'dev' 当然就指的是当前分支是dev了:
这里还得啰嗦强调一下,启动 VS Code 的位置很重要,一定要在项目文件夹下启动,当然你熟习以后可以手动在 VS Code 中打开项目文件夹,但是为了方便起见,还是推荐用 code .
启动,所以一定不要搞错位置,搞错位置就会这样:
其实这样也没什么,关了重新打开就行了,我贴上面这个图,是想让你心里有个数,万一遇到这情况,知道是怎么回事就行了,哈哈
先别着急开始干活,还有个事。
在你开始翻译一篇文章之前,应该先为这篇文章创建一个分支; 在创建分支之前,应该先把本地仓库和上游仓库同步一下。
上游仓库说的是咱们的总项目,不是你复刻的项目。因为你复刻的项目一般情况下只有你自己在修改,而上游仓库可能每天都会有很多改动,所以应该尽量保持我们复刻的仓库和上游仓库是同步的。没有必要完全同步,但是尽量同步。
这个同步的流程大概是这样的: 直接从上游 dev 分支拉取最新的内容
--> 合并到本地 dev
--> 再推送到 GitHub 上自己的仓库
。
- 还是在项目位置打开命令行窗口。
D:\Docs\aspnetcore-doc-cn>
- 执行
git remote -v
,查看一下远程仓库,非必须。 - 去上游仓库页面,获取
git
地址,注意这次不是自己的,是总项目了。其实就是这个:https://github.com/dotnetcore/aspnetcore-doc-cn.git
- 执行
git remote add dotnetcore https://github.com/dotnetcore/aspnetcore-doc-cn.git
,这条指令把上游仓库加进来,并起个名字叫 dotnetcore ,这个名字你可以自己选。如果之前已经加过了,就不必重复了。 - 执行
git checkout dev
,确保在 dev 分支下继续其他操作。目前执行情况如图:
接下来要准备同步了啊。
- 执行
git fetch dotnetcore
,还记得刚才加的叫 dotnetcore 的总项目地址不?现在就是要拉取它的最新内容。
-
已经拉取成功了,但是还没合并到我们本地的分支里,所以在当前dev分支下,执行
git merge dotnetcore/dev
,就会把刚才拉取的仓库的 dev 分支合并到我们本地的 dev 分支上了。 -
此时你可以观察 VS Code 左下角,dev 旁边的数字,这些数字代表了 dev 分支发生了更改。因为我们刚才合并新内容了啊!
- 最后,要把本地最新的内容,推送回 GitHub 上我们自己复刻的仓库里,执行
git push
就可以了,其实你可以点击 VS Code 左下角的数字,它也会给你推送的。
推送完成,左下角的数字变回 0 了:
为每篇翻译工作新建一个分支,有利于后续的工作。方法很简单,我们举个例子操作一遍就可以了。
比如现在我准备翻译 aspnet/mvc/index.rst
这一篇文档:
在开工之前,我应该:
-
按照上面介绍的方法,同步一下仓库。
-
确保当前分支是 dev (可以在 VS Code 中瞄一下左下角),这一点其实挺重要,因为所有新分支都从 dev 创建的话,可以极大的避免分支之间的干扰,有利于后续的提交工作。
-
给新分支起个名字,我的已经想好了,叫 trans-mvc-index ,你可以根据自己的喜好起名字,只要自己能明白谁是谁就行了。
-
可以从命令行执行
git branch trans-mvc-index
创建这个分支,不过VS Code操作也很方便,直接按下Ctrl + P
,输入命令回车就行了:
5.分支创建成功了,点击左下角的分支名,可以方便地在各个分支之间切换:
6.发布分支。是发布到自己的 GitHub 仓库里,其实不用急着发布,不过为了保持本文的啰嗦风格,我们现在发布一下:
看上图左下角,分支名旁边的云朵按钮,点一下就发布了,不过请注意,点了之后要你选择发布到哪个远程仓库,是要发布到自己的仓库里,你可别选错了。
7.去你的 GitHub 页面上,看看新发布的分支:
8.终于可以开始干正事了吗?
打开我们要翻译的 mvc/index.rst 文档,禅精竭虑,几经修改,终于翻译出来了。 在文件保存之后,可以看到左下角分支名字上出现了星号,左边 git 按钮出现了数字标签,点进去看到当前已修改的文件列表,在上面的输入框里随便写一下本次修改的简介,按一下上面的 √ 就保存提交了:
现在只是保存在了本地仓库里,继续观察左下角,会看到数字 1,代表有一条可以推送到远程仓库里,点一下它自己就给你推送了:
再去刷新一下你的 GitHub,在对应的分支下,你可以看到刚才提交的修改:
大家时间都有限,一篇文档的翻译可能会分很多次进行,每完成一段,都可以根据需要保存提交一下,也可以随时推送到自己的 GitHub,这个不必拘束,反正最终都要保存和推送的。
当我觉得这篇已经差不多了,我就可以提交PR到上游仓库里,给大家审阅,修订,最终合并到上游仓库。
具体方法也很简单,先把本地的修改都保存提交,然后把还没推送的都推送到自己的远程仓库上。然后去 GitHub 上,进入分支管理页面:
在需要提交的分支右边,直接提交PR的按钮,进入下一步:
简单填写一下信息,就可以提交了,完成之后:
这样大家就可以帮我评审这篇翻译,发现问题可以在评论里提出来。 然后我根据建议还在这个分支下进行修改 -> 保存 -> 提交 -> 推送,然后刚才提交的这个 PR,会自动把最新提交的内容包括进去。 也就是说,不必再提交新的 PR。直到最终定稿,合并 PR。