Chapter 1 起步
1.1 Git是什么
- Git 对待数据更像是一个快照流
- Git 保证完整性:Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。
- Git 一般只添加数据:Git 几乎不会执行任何可能导致文件不可恢复的操作。
- 三种状态:Git 有三种状态,文件处于其中之一:已提交(committed)、已修改(modified)、已暂存(staged)。
- 已修改表示修改了文件,但还没保存到数据库中。
- 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
- 已提交表示数据已经安全地保存在本地数据库中。
1.2 初次运行 Git 前的配置
- 用户信息:安装完Git 之后,要做的第一件事就是设置你的用户名和邮件地址。这一点很重要,因为每一个Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改。
# 设置/修改用户名及邮箱 git config --global user.name "Champ" git config --global user.email 1234567@qq.com # 查看信息 git config --list git config user.name
1.3 帮助
- 三种方式获得帮助
git help <verb> git <verb> --help man git-<verb>
1.4 创建/克隆版本库
创建一个empty repository:
mkdir newrepository cd newrepository
pwd
指令可以查看当前文件目录如果使用Windows系统,为了避免遇到各种莫名其妙的问题,应确保目录名(包括父目录)不包含中文。
初始化为可以管理的仓库
git init
之后目录下会多.git
目录,默认隐藏,用ls -ah
查看。
- 添加文件到版本库
明确以下:
所有的版本控制系统,只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等。版本控制系统可以告诉你每次的改动。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是只知道图片100KB改成了120KB,但到底改了啥,版本控制系统不知道,也没法知道。
Windows下最好用VSCode代替自带记事本编辑文本文件避免一些莫名错误。
# 第一步git add添加文件到库,可以反复使用添加多个文件
git add README.txt
git add file1 file2 file3
# 第二步git commit告诉git把文件提交到仓库
git commit -m "本次的提交说明"
- 克隆一个仓库
git clone <url> git clone <url> my_repo_name