1.创建版本库
①选择一个合适的地方,创建一个空目录
mkdir learngit
cd learngit
②通过git init
命令把这个目录变成Git可以管理的仓库:
git init
Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个
.git
的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。
如果你没有看到
.git
目录,那是因为这个目录默认是隐藏的,用ls -ah
命令就可以看见。
2.文件添加到版本库
把 readme.txt 文件放到 learngit 目录下,因为这是一个 Git仓库
第一步:git add 告诉Git,把文件添加到仓库 执行下面的命令,没有任何显示,说明添加成功。
$ git add readme.txt
第二步:用命令
git commit
告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
简单解释一下git commit
命令,-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
git commit
命令执行成功后会告诉你,1 file changed
:1个文件被改动(我们新添加的readme.txt文件);2 insertions
:插入了两行内容(readme.txt有两行内容)。
为什么Git添加文件需要add
,commit
一共两步呢?因为commit
可以一次提交很多文件,所以你可以多次add
不同的文件,比如:
小结:
初始化一个Git仓库,使用git init
命令。
添加文件到Git仓库,分两步:
- 使用命令
git add <file>
,注意,可反复多次使用,添加多个文件; - 使用命令
git commit -m <message>
,完成。
- 使用命令
3.查看修改内容和仓库状态
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容:
现在,运行git status
命令看看结果:
$ git status
git status
命令可以让我们时刻掌握仓库当前的状态,上面的命令输出告诉我们,readme.txt
被修改过了,但还没有准备提交的修改。
虽然Git告诉我们readme.txt
被修改了,看具体修改了什么内容,需要用git diff
这个命令看看:
$ git diff readme.txt
git diff
顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个distributed
单词。
知道了对readme.txt
作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add
:
$ git add readme.txt
同样没有任何输出。在执行第二步git commit
之前,我们再运行git status
看看当前仓库的状态:
git status
告诉我们,将要被提交的修改包括readme.txt
,下一步,就可以放心地提交了:
提交后,我们再用git status
命令看看仓库的当前状态:
Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working tree clean)的。
-
要随时掌握工作区的状态,使用
git status
命令。 -
如果
git status
告诉你有文件被修改过,用git diff
可以查看修改内容。
4.版本回退