<!-- 译者:Github@wizadforcel -->
# Atom中的版本控制 #
对于任何项目来说,版本控制都是很重要的一个方面。Atom集成了一些基本的Git和Github功能。
## 检出(checkout)HEAD中的版本 ##
`cmd-alt-Z`快捷键检出当前文件在HEAD中的版本。
这是一个快捷的方法,来撤销所有你保存的或者阶段性的修改,并且把你的文件还原到HEAD中(最后提交)的版本。这从本质上相当于使用命令行在`path`中执行`git checkout HEAD -- <path>`或者`git reset HEAD -- <path>`命令。
![](https://box.kancloud.cn/2015-12-28_5680b9fa1a9ae.gif)
这个命令会保存到撤销栈,所以稍后你可以使用`cmd-Z`来恢复之前的内容。
## Git状态(status)列表 ##
Atom带有模糊查找的包,提供了`cmd-T`快捷键来快速打开项目中的文件,以及`cmd-B`快捷键来跳到任何已打开的编辑器。
这个包也提供了`cmd-shift-B`快捷键,用来显示所有未跟踪和已修改的文件列表。如果你运行`git status`,你在命令行中会看到相同的文件。
![](https://box.kancloud.cn/2015-12-28_5680b9fa4212b.gif)
每个文件的右边会出现一个小图标,让你知道它是未跟踪的还是已修改的。
## 提交(commit)编辑器 ##
Atom可以用作你的Git提交(commit)编辑器,并自带git语法包(language-git),它添加了语法高亮来编辑提交(commit)、合并(merge)和rebase消息。
![](https://box.kancloud.cn/2015-12-28_5680b9fa658c1.gif)
你可以使用以下命令来设置Atom为你的Git提交编辑器。
```
$ git config --global core.editor "atom --wait"
```
language-git包会通过给提交消息的第一行加上颜色,来提醒你缩短它,当它超过50和65个字符的时候。
## 状态栏的图标 ##
status-bar包带有一些Git标识,用于显示在状态栏的右边。
![](https://box.kancloud.cn/2015-12-28_5680b9fa85b87.png)
当前检出的分支名称,会和当前分支在上游(upstream)分支之前或之后的提交数量一起显示。
如果当前文件未跟踪、已修改或者被忽略,就会添加一个标识。最后一次提交以来的添加和删除的行数也会显示。
## 行间差异 ##
引入的git-diff包在行号旁边为添加、修改和删除的行着色。
![](https://box.kancloud.cn/2015-12-28_5680b9fa97188.png)
这个包也添加了`alt-g down`和`alt-g up`快捷键,允许你在当前编辑器中把光标移动到上一个或下一个不同的代码块。
## 在Github上打开 ##
如果你处理的项目存放在Github上,你可以使用许多方便的集成功能。这些命令的大多数都作用于你当前查看的文件,并在Github上打开它的视图 —— 例如,当前文件的修改历史(blame)或者提交历史(commit history)。
`alt-G O`
在Github上打开文件。
`alt-G B`
在Github上打开文件的修改历史。
`alt-G H`
在Github上打开文件的提交历史。
`alt-G C`
复制当前文件在Github上的链接。
`alt-G R`
在Github上进行分支比较。
分支比较只是简单地向你展示那些在本地的当前工作分支上存在,并且在主分支上没有的提交。
![](https://box.kancloud.cn/2015-12-28_5680b9fabc064.png)