免费开源的iOS开发学习平台

GitHub:4-版本控制

Git最核心的功能就是版本控制,在仓库中不仅保存了最新的代码,同时还保存了所有的历史版本以及修改记录。通过GitHub我们可以查看所有的版本信息,并且可以回退到任意一个历史版本。

关于commits

在使用GitHub过程中,经常会使用到commits这个概念,commits从字面意思上可以理解为“提交”,通常我们说的“版本”也就是commits的意思。commits与我们编辑文件时使用的【保存】操作类似,只不过使用commits是把项目的变更保存到仓库中的一个分支中,并且每个commits都有一个唯一的ID,通过这个唯一ID,我们可以获取到:

  • 本次commits的变更记录;
  • 变更的时间;
  • 变更的提交人。

版本控制

GitHub客户端可以检测仓库所在目录所有的文件变更,例如,我们在上一节创建的仓库中新增一个README.md文件,并在其中编写一些内容。返回GitHub客户端,选中已经创建的仓库,我们就可以看到在该仓库中所发生的变化。

当我们希望提交当前版本到master分支(master是默认分支的名称)时,需要编写当前版本的修改说明,点击【Commit to master】按钮。

此时,我们可以查看到本次提交版本的信息,包括版本说明、提交人、版本号(7位)以及提交时间。

当我们对README.md文件进行修改后,例如,增加内容或者修改内容,返回GitHub客户端同样可以查看到本次修改的记录。如下所示,我们在README.md文件中,执行了一些修改操作。在GitHub客户端中会提示本次修改的内容。

同样,我们可以把本次修改后的版本上传到master分支后,可以查看已经提交的两次记录。

版本发布与同步

通常情况下,每个项目都有本地仓库以及远端仓库,本地仓库保存在电脑硬盘上,而远端仓库保存在GitHub的服务器上,这样才能够保证内容的安全性。我们在本地创建了仓库,但是该仓库在GitHub的网站上却看不到,这就需要我们对本地仓库执行发布(Publish)操作。在GitHub客户端,选中我们创建的仓库,点击右上角的【Publish】按钮。

填写仓库的名称以及描述,并点击【Publish Repository】按钮。

我们可以看到此时我们创建的仓库已经移动到GitHub下了。

另外,对于已经上传到GitHub上的仓库,右上角的【Publish】按钮已经变为【Sync】,即同步按钮。通过点击【Sync】按钮,就可以实现本地仓库与远端仓库的同步操作。

回滚与恢复

当在本地仓库中执行了提交,但是还未同步到远程仓库时,我们可以执行【Undo】操作进行回滚,以放弃本次提交。

当提交已经同步到远程仓库后,就不能再执行【Undo】操作了,假如我们希望放弃本次修改的内容,可以执行【Revert this Commit】操作。

点击【Revert this Commit】按钮后,GitHub会自动创建一个新的提交,而不是删除旧的提交。

需要注意的是,假如需要恢复多个提交,即执行多次【Revert this Commit】操作时,需要按照提交的顺序依次恢复。如下所示,我们希望恢复到V1.0.1这个版本,需要先对V1.0.2执行【Revert this Commit】,再对V1.0.1执行【Revert this Commit】。