Git的使用
Git
使用git Bash Here. 命令如下:
查看git安装版本
Administrator@lstories MINGW64 ~/Desktop
$ git --version
git version 2.26.0.windows.1
清屏
Administrator@lstories MINGW64 ~/Desktop
$ clear
设置用户名和邮箱
Administrator@lstories MINGW64 ~/Desktop
$ git config --global user.name "lstories"
Administrator@lstories MINGW64 ~/Desktop
$ git config --global user.email "lstories@163.com"
本地仓库的初始化操作
在新建立的仓库中使用 git init 命令 我仓库是在E:\git\GitResp
Administrator@lstories MINGW64 /e/git/GitResp
$ git init
Initialized empty Git repository in E:/git/GitResp/.git/
.git目录是隐藏的
查看.git目录下的内容
注意: .git目录里面的文件不可随意修改
Git常用命令
工作图
添加文件(add)、提交文件(commit)
- 创建一个文件
- 将文件提交到暂存区(add)
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git add Demo.txt
- 将暂存区的内容提交到本地库(commit)
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git commit -m "This is my first file" Demo.txt
[master (root-commit) 21a0de5] This is my first file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 Demo.txt
查看状态命令(status)
git status看的是工作区和暂存区的状态
创建一个文件,然后查看状态
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
pro.txt
nothing added to commit but untracked files present (use "git add" to track)
错误原因是,pro.txt未提交到暂存区
将pro文件通过 git add 命令提交至:暂存区。再查看pro的状态
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git add "pro.txt"
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: pro.txt
再利用git commit命令,将pro提交到本地库,
Administrator@lstories MINGW64 /e/git/GitResp (master)
$ git commit -m "This is my second file" "pro.txt"
[master c49a158] This is my second file
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 pro.txt
注意:
如果修改pro文件后,要重新使用git add 重新添加至暂存区,并且使用git commit提交修改后的文件。
git log
历史命令,查看历史
当历史记录过多的时候,查看日志的时候,有分页的效果,分屏效果,一页展示不下
下一页:空格
上一页:b
到尾页了,显示END
日志展示方式:
- 方法1:git log --》 分页
- 方法2:git log --pretty=onelint
- 方法3:git log --oneline
- 方放4:git reflog
多了信息:HEAD@{数字}
这个数字的含义:指针回到当前这个历史版本需要走多少步
reset命令:前进或后退历史版本
利用前面的索引号,进行回退操作
用reflog命令查看
hard参数
git reset --hard [索引]
本地库的指针移动的同时,重置暂存区,重置工作区
mixed参数
git reset --mixed [索引]
本地库的指针移动的同时,重置暂存区,但工作区不动
soft参数
git reset --soft [索引]
本地库的指针移动的时候,暂存区,工作区都不动
总结:用的多的,是第一种,hard参数
删除文件、恢复本地库删除的文件
- 新建一个新的文件pro.txt
- 将它add到暂存区
- 再通过commit提交到本地库
- 删除工作区中的pro.txt
- 将删除操作同步到暂存区
- 将删除操作同步到本地库
- 查看日志
- 找回本地库中删除的文件,实际上就是将历史版本切换到刚才添加文件的那个版本即可。
使用 git reset --hard [索引]
diff命令
git diff [文件名] --》比对内容
- 先创建一个文件,添加到暂存区,再提交到本地库
- 更改工作区中的Test3.txt中内容,增加内容
导致:工作区 和 暂存区 不一致,比对
总结,git diff [文件名] --》 将工作区中的文件和暂存区中的文件进行比较
如果是多个文件的比对,直接用 git diff 即可
使用git diff 进行比较
总结:git diff --》 比较工作区和暂存区中所有文件的差异。
比较暂存区和工作区中的差别
git diff [历史版本] [文件名] --》 比较暂存区和工作区中的内容