分布式版本控制系统 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
总结
- 初始化 Git 仓库,使用
git init
命令 - 添加文件到仓库,有以下两个步骤:
- 使用
git add <file>
,这个命令可以多次使用,添加多个文件。 - 使用
git commit -m <message>
,提交文件到仓库
- 使用
- 使用
git status
查看状态。
以上就是本篇的主要内容。
未完待续…
欢迎关注微信公众号《书所集录》