跳转到内容

编程基础/版本控制

来自维基教科书,开放世界中的开放书籍

版本控制,也称为修订控制或源代码控制,是对文档、计算机程序、大型网站和其他信息集合的更改进行管理。每个修订都与时间戳和进行更改的人员相关联。修订可以进行比较、恢复,并且在某些类型的文件的情况下,可以进行合并。[1]

版本控制系统 (VCS) 通常作为独立应用程序运行,但也可能嵌入到各种类型的软件中,包括集成开发环境 (IDE)。

版本控制实现了一种记录和管理文件更改的系统化方法。从最简单的意义上说,版本控制涉及在不同阶段对文件进行“快照”。此快照记录有关快照创建时间的信息,以及有关不同快照之间发生更改的信息。这使您能够将文件“倒回”到较早的版本。从版本控制的这个基本目标出发,提供了一系列其他可能性。[2]

版本控制允许您:[3]

  • 跟踪文件中的开发和更改
  • 以一种您以后能够理解的方式记录您对文件的更改
  • 在维护原始版本的同时,尝试文件的不同版本
  • “合并”文件的两个版本,并管理版本之间的冲突
  • 恢复更改,在您的历史记录中“向后”移动到文件的先前版本

版本控制对于促进协作特别有用。版本控制系统的最初动机之一是允许不同的人共同完成大型项目。使用版本控制进行协作比许多其他解决方案提供了更大的灵活性和控制。例如,可以两个人同时处理一个文件,然后将它们合并在一起。如果两个版本之间存在“冲突”,版本控制系统将允许您查看这些冲突并主动决定如何将这些不同版本“合并”成一个新的“第三”文档。使用这种方法,您还将保留以前版本的“历史记录”,以便您希望稍后恢复到其中一个版本。[4]

流行的版本控制系统包括:[5]

  • Git
  • Helix VCS
  • Microsoft Team Foundation Server
  • Subversion

本课程的其余部分侧重于使用 Git 版本控制系统。

Git 是一个版本控制系统,用于跟踪计算机文件中的更改,并在多个用户之间协调对这些文件的处理。它主要用于软件开发中的源代码管理,但它可以用来跟踪任何一组文件的更改。Git 由 Linus Torvalds 在 2005 年为 Linux 内核的开发而创建,是免费的开源软件。[6]

免费的公共 Git 存储库可从以下位置获取

  • Bitbucket
  • GitHub

通过在当前工作目录中创建一个 .git 子目录来初始化一个新的 Git 存储库

  • git init

克隆现有存储库只需要存储库的 URL 和以下 git 命令

  • git clone <url>

克隆后,存储库通过推送和拉取更改来同步。如果原始源存储库已修改,则使用以下 git 命令将这些更改拉取到本地存储库

  • git pull

本地更改必须添加和提交,然后推送到远程存储库。注意第一个命令末尾的句点(点)。

  • git add .
  • git commit -m "提交原因"
  • git push

如果本地存储库和远程存储库之间存在冲突,则应合并更改,然后推送。如有必要,可以使用以下命令将本地更改强制执行到远程服务器

  • git push --force

关键术语

[编辑 | 编辑源代码]
分支
版本控制下文件的独立工作副本,可以独立于原点开发。
克隆
创建一个包含来自另一个存储库的修订的新存储库。
提交
将工作副本中所做的更改写入或合并到存储库。
合并
将两组更改应用于文件或文件集的操作。
推送
将当前存储库中的修订复制到远程存储库。
拉取
将远程存储库中的修订复制到当前存储库。
版本控制
对文档、计算机程序、大型网站和其他信息集合的更改进行管理。
版本控制系统
通常作为独立应用程序运行,但也可能嵌入到各种类型的软件中,包括集成开发环境

参考文献

[编辑 | 编辑源代码]
华夏公益教科书