文章目录
- 安装git
- 设置用户
- 创建版本库
- 初始化仓库
- 添加文件到仓库
- 添加文件
- 提交文件到仓库
- 将文件更改后在提交
- 查看一下仓库的当前状态
- 对比修改内容
- 提交到仓库
- 查看各版本信息
- 退回版本
- 返回未来
- 历史命令查看
安装git
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 "1915521482@qq.com"
注意: 参数
--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 <1915521482@qq.com>
Date: Thu Sep 12 16:55:10 2019 +0800
添加了一行信息
commit 1909f1aa1335742aa5110a129ec4228ed900a5f5
Author: chineselijie <1915521482@qq.com>
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): 创建了一个文件
此处的第一列就是版本号,它详细地记录着各个版本的历史信息