手记

分布式版本控制系统 Git

分布式版本控制系统 Git


关于版本控制


版本控制是一种记录一个或若干个内容变化,以便将来查阅特定版本修订的情况的系统。

分布式版本控制系统

Git 是分布式版本控制系统,这里要比较集中式版本控制系统一起说明。

集中式版本控制系统,都有一个单一的集中管理的服务器,保存所有文件的修订版本,协同工作的人们都通过客户端连接到这台服务器,取出最新的文件或者提交更新。

集中式版本控制系统的缺点,就是必须联网工作,当遇到服务器宕机时,这时协同工作的所有人都无法工作。若遇到中心数据库损坏这种极端的情况下,若未备份,数据将丢失。

而分布式版本控制系统,没有管理的服务器,客户端并不是只提取最新版本的文件快照,而是完整克隆代码仓库。若遇到故障时,都从另外一个协同者克隆出来的仓库进行恢复。

安装 Git


在 Linux 上 安装

在 Linux 上安装,可先尝试使用 git 命令查看系统是否安装 git:

$ git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git

上面的输出结果表示系统未安装 git。

以 Ubuntu 为例,可以使用 apt-get

$ sudo apt-get install git

以 Centos 为例,可以使用 yum

$ sudo yum install git

在 Mac 上安装

在 Mac 上安装 Git,最简单的方法是安装 Xcode Command line Tools。

在 Windows 上安装

在 Windows 上,可以在官方网站下载。打开 http://git-scm.com/download/win,然后按默认选项安装即可。

Git 基础


获取 Git 仓库

这里有两种获取 Git 项目仓库的主要方法。第一种是将已有项目导入为 Git 仓库;第二种是从其他服务器克隆一个已存在的 Git 仓库。

在已存在的目录中初始化仓库

先创建一个版本库,首先创建一个空目录

$ mkdir about_git
$ cd about_git
$ pwd
/home/username/about_git

若打算使用 Git 对上的项目进行追踪,则在项目目录路径使用如下命令:

$ git init
Initialized empty Git repository in /home/username/about_git/.git/

此时可以发现目录中多了一个 .git 的目录,这个目录就是 Git 用来跟踪管理版本库的,尽量不要修改里面的内容,防止破坏 Git 仓库。

克隆服务器上的仓库

克隆仓库的命令是 git clone [url],比如:

$ git clone git@gitee.com:username/about_git.git
Cloning into 'about_git'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
Checking connectivity... done.

Git 支持多种协议,默认 git:// 使用 ssh,但也可以使用 https 等其他协议。

添加文件到仓库

跟踪新文件

使用 git add 命令跟踪文件。假设需要跟踪 README 文件,使用如下命令:

$ git add README

这时,可以使用 git status 命令查看状态:

$ git status
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README

上面的内容提示 README 文件已被追踪,处于暂存状态。

提交文件

这时使用 git commit 命令:

$ git commit

这种方式会启动文本编辑器启动以输入本次提交的说明。

下面是编辑器显示的文本信息:

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
#       new file:   README

同样,也可以在 commit 命令后面添加 -m 选项,将提交信息与命令放在同一行,如下所示:

$ git commit -m "Wrote file README"
[master (root-commit) 956d16c] Wrote file README
 1 file changed, 1 insertion(+)
 create mode 100644 README

总结


  1. 初始化 Git 仓库,使用 git init 命令
  2. 添加文件到仓库,有以下两个步骤:
    • 使用 git add <file>,这个命令可以多次使用,添加多个文件。
    • 使用 git commit -m <message>,提交文件到仓库
  3. 使用 git status 查看状态。

以上就是本篇的主要内容。


未完待续…

欢迎关注微信公众号《书所集录》

1人推荐
随时随地看视频
慕课网APP