目录
一、初始化操作
1.查看git安装版本:git --version
2.清屏:clear
3.设置签名:
设置用户名:git config --global user.name "yueyue"
设置邮箱: git config --global user email "xxxxx@xx.com"
4.本地仓库初始化操作:
进入本地仓库:cd e:/ cd GitResp/
进行初始化操作:git init
.git目录是隐藏的,可以调出来,查看.git下内容:
$ ll
total 0
$ ll -la
total 12
...
$ cd .git/
$ ll
total 7
...
注意事项:.git目录下的本地相关的子目录和子文件不要删除和胡乱修改。
二、添加文件和提交文件(add、commit)
1.先在本地仓库创建一个文件Demo.TXT
2.将文件提交到暂存区:git add Demo.TXT
3.将暂存区的内容提交到本地库:git commit -m "这是提交的第一个文件 Demo.TXT" Demo.TXT
注意事项:
(1)不放在本地仓库中的文件,git不进行管理
(2)即使放在本地仓库的文件,git也不管理,必须通过add,commit命令操作才可以将内容提交到本地库。
三、查看状态(status)
查看文件是否提交上去
1.git status
$ git status
On branch master
nothing to commit,working tree clean
on branch master:分支在主干上
nothing to commit,working tree clean:没有东西要提交(暂存区是空的)
2.新建一个Demo2.TXT
3.查看状态
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
Demo2.TXT
nothing added to commit but untracked files present(use "git add" to track)
还是在主干上
Untracked files:没有被追踪的文件(没有被Git管理)
4.将Demo2.TXT通过git add命令提交至:暂存区。再git status查看状态。
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git add Demo2.TXT
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: Demo2.TXT
Demo2.TXT在暂存区,可以被提交,放到本地仓库里。
5.利用commit命令将文件提交到:本地库
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git commit -m "这是我提交的第二个文件 Demo2.TXT" "Demo2.TXT"
[master e7d435a] 这是我提交的第二个文件 Demo2.TXT
1 file changed, 2 deletions(-)
由于原本提交过一次Demo2.TXT,里面有两行数据,而现在的Demo2.TXT里面没有数据,所以可以看到2 deletions(-),即2行删减,添加为insertions(+)。
6.修改TXT文件中内容,再查看状态
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: Demo2.TXT
no changes added to commit (use "git add" and/or "git commit -a")
7. 因为数据修改了,所以需要重新进行提交
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git add Demo2.TXT
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git commit -m "修改了文件Demo2.TXT的内容" "Demo2.TXT"
[master 5921d3b] 修改了文件Demo2.TXT的内容
1 file changed, 2 insertion(+), 0 deletion(-)
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git status
On branch master
nothing to commit, working tree clean
四、查看日志(git log)
1. git log 可以让我们查看提交的,显示从最近到最远的日志
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git log
commit 5921d3b2289a377ee3a34543301640d347832334 (HEAD -> master)
Author: dingyue <dy0048@qq.com>
Date: Mon Jul 25 10:51:01 2022 +0800
修改了文件Demo2.TXT的内容
commit c8b21986bc7db3060abe4f0e2cd0f4adae05b044
Author: dingyue <dy0048@qq.com>
Date: Mon Jul 25 10:44:04 2022 +0800
修改了Demo2.TXT文件的内容
commit e7d435adc1d5b9ce73683dfafe9928f077f22a9b
Author: dingyue <dy0048@qq.com>
Date: Mon Jul 25 10:37:34 2022 +0800
这是我提交的第二个文件 Demo2.TXT
commit bcb7fcbf8040b35e504120920f82462e09f4dae5
Author: dingyue <dy0048@qq.com>
Date: Mon Jul 25 10:33:27 2022 +0800
这是我提交的文件 Demo3.TXT
:...skipping...
commit 5921d3b2289a377ee3a34543301640d347832334 (HEAD -> master)
Author: dingyue <dy0048@qq.com>
Date: Mon Jul 25 10:51:01 2022 +0800
修改了文件Demo2.TXT的内容
commit 后面为当前历史记录对应的索引,
key:索引,value:历史记录对应的具体内容
当历史记录太多时会达到一个分屏效果,':'达到一个分屏的效果
往后(下一页):用'空格'
往前(上一页):用'B'
退出:q
2.当日志过多时查看日志的时候,有分页效果,分屏效果,一页展示不下,这时候有更好的日志展示方式:
(1)方式1:git log ----->分页
(2)方式2(以一种更漂亮的方式在一行显示):git log --pretty=oneline
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git log --pretty=oneline
5921d3b2289a377ee3a34543301640d347832334 (HEAD -> master) 修改了文件Demo2.TXT的内容
c8b21986bc7db3060abe4f0e2cd0f4adae05b044 修改了Demo2.TXT文件的内容
e7d435adc1d5b9ce73683dfafe9928f077f22a9b 这是我提交的第二个文件 Demo2.TXT
bcb7fcbf8040b35e504120920f82462e09f4dae5 这是我提交的文件 Demo3.TXT
54b707073c8248474f5c491485991ee4ff8637fa insert aaa
a1ef4407d898ceaa4edf2d3a6fec366840de17d0 我创建的text.TXT
f8965e094c81676a960c9f095a018718dca25c6c 修改了文件Demo2.TXT
b9a0938f12b8fc4305c6861938ba235f2d5112ca 修改了文件Demo.TXT
76f3964847214d06598b80ebbe0336d398298c0e 这是我提交的第二个文件 Demo2.TXT
0577f187f374d86bb8d759fc70416e2270bb155b 这是提交的第一个文件 Demo.txt
(3)方式3:git log --oneline 选取一部分进行显示
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git log --oneline
5921d3b (HEAD -> master) 修改了文件Demo2.TXT的内容
c8b2198 修改了Demo2.TXT文件的内容
e7d435a 这是我提交的第二个文件 Demo2.TXT
bcb7fcb 这是我提交的文件 Demo3.TXT
54b7070 insert aaa
a1ef440 我创建的text.TXT
f8965e0 修改了文件Demo2.TXT
b9a0938 修改了文件Demo.TXT
76f3964 这是我提交的第二个文件 Demo2.TXT
0577f18 这是提交的第一个文件 Demo.txt
(4)git reflog
多了信息:HEAD@{数字}
这个数字的含义:指针回到当前这个历史版本需要走多少步
mi@DESKTOP-02KCSJ0 MINGW64 /e/GitResp (master)
$ git reflog
5921d3b (HEAD -> master) HEAD@{0}: commit: 修改了文件Demo2.TXT的内容
c8b2198 HEAD@{1}: commit: 修改了Demo2.TXT文件的内容
e7d435a HEAD@{2}: commit: 这是我提交的第二个文件 Demo2.TXT
bcb7fcb HEAD@{3}: commit: 这是我提交的文件 Demo3.TXT
54b7070 HEAD@{4}: commit: insert aaa
a1ef440 HEAD@{5}: commit: 我创建的text.TXT
f8965e0 HEAD@{6}: commit: 修改了文件Demo2.TXT
b9a0938 HEAD@{7}: commit: 修改了文件Demo.TXT
76f3964 HEAD@{8}: commit: 这是我提交的第二个文件 Demo2.TXT
0577f18 HEAD@{9}: commit (initial): 这是提交的第一个文件 Demo.txt