zhou@zhou-PC:~/Desktop$ sudo apt-get install git -y
zhou@zhou-PC:~/Desktop$ git config --global user.name "chineselijie"
zhou@zhou-PC:~/Desktop$ git config --global user.email "[email protected]"
注意: 参数
--global
表示这台机器所有的git仓库都会归属到这个配置,也可以对某个单独仓库指定其他的用户和email地址。去掉--global
即可。
zhou@zhou-PC:~/Desktop$ mkdir test
zhou@zhou-PC:~/Desktop$ cd test/
zhou@zhou-PC:~/Desktop/test$ pwd
/home/zhou/Desktop/test
将目录变为git可以管理的仓库
zhou@zhou-PC:~/Desktop/test$ git init
已初始化空的 Git 仓库于 /home/zhou/Desktop/test/.git/
zhou@zhou-PC:~/Desktop/test$ ls -a
. .. .git
首先创建一个文件,添加内容进去
zhou@zhou-PC:~/Desktop/test$ echo "natasha" > a.txt
zhou@zhou-PC:~/Desktop/test$ cat a.txt
natasha
zhou@zhou-PC:~/Desktop/test$ git add a.txt
zhou@zhou-PC:~/Desktop/test$ git commit -m "创建了一个文件" a.txt
[master(根提交) 1909f1a] 创建了一个文件
1 file changed, 1 insertion(+)
create mode 100644 a.txt
提前将文件添加一行
zhou@zhou-PC:~/Desktop/test$ echo "hahahahaha" >> a.txt
zhou@zhou-PC:~/Desktop/test$ cat a.txt
natasha
hahahahaha
zhou@zhou-PC:~/Desktop/test$ git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
此时就可以看到文件被修改过但是还没有提交
zhou@zhou-PC:~/Desktop/test$ git diff a.txt
diff --git a/a.txt b/a.txt
index 2e6fa88..a9d322e 100644
--- a/a.txt
+++ b/a.txt
@@ -1 +1,2 @@
natasha
+hahahahaha
这里就可以看到a.txt增加了一行
zhou@zhou-PC:~/Desktop/test$ git add a.txt
zhou@zhou-PC:~/Desktop/test$ git status
位于分支 master
要提交的变更:
(使用 "git reset HEAD <文件>..." 以取消暂存)
修改: a.txt
zhou@zhou-PC:~/Desktop/test$ git commit -m "添加了一行信息" a.txt
[master 60f2917] 添加了一行信息
1 file changed, 1 insertion(+)
zhou@zhou-PC:~/Desktop/test$ git status
位于分支 master
无文件要提交,干净的工作区
zhou@zhou-PC:~/Desktop/test$ git log a.txt
commit 60f29172f1d154a0cd02188b8d2cd4f657cf97b4
Author: chineselijie <[email protected]>
Date: Thu Sep 12 16:55:10 2019 +0800
添加了一行信息
commit 1909f1aa1335742aa5110a129ec4228ed900a5f5
Author: chineselijie <[email protected]>
Date: Thu Sep 12 16:34:16 2019 +0800
创建了一个文件
此处的commit后面的一串数字代表了版本号
如果觉得太复杂,可以使用参数--pretty=oneline
zhou@zhou-PC:~/Desktop/test$ git log --pretty=oneline a.txt
60f29172f1d154a0cd02188b8d2cd4f657cf97b4 添加了一行信息
1909f1aa1335742aa5110a129ec4228ed900a5f5 创建了一个文件
zhou@zhou-PC:~/Desktop/test$ git reset --hard 1909
HEAD 现在位于 1909f1a 创建了一个文件
zhou@zhou-PC:~/Desktop/test$ cat a.txt
natasha
如果不小心退回了版本,不用担心,还可以返回未来
zhou@zhou-PC:~/Desktop/test$ git reset --hard 60f2
HEAD 现在位于 60f2917 添加了一行信息
zhou@zhou-PC:~/Desktop/test$ cat a.txt
natasha
hahahahaha
注意:此处的60f2还有上面的1909,都是版本号的缩写,没必要写全,只需要前几位就可以了
假如忘记了版本号,也可以使用命令来查看每一次的命令
zhou@zhou-PC:~/Desktop/test$ git reflog
60f2917 HEAD@{0}: reset: moving to 60f2
1909f1a HEAD@{1}: reset: moving to 1909
60f2917 HEAD@{4}: commit: 添加了一行信息
1909f1a HEAD@{5}: commit (initial): 创建了一个文件
此处的第一列就是版本号,它详细地记录着各个版本的历史信息