目录
1、常用命令汇总
命令名称 | 作用 |
---|---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git rm --cached 文件名称 | 从暂存区删除文件 |
git commit -m “日志信息” 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭,切换版本 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
2、Git本地库相关操作
2.1 设置用户名和邮箱
命令语法:
git config --global user.name 用户名
git config --global user.email 邮箱
设置完成之后可以使用cat ~/.gitconfig
查看设置
说明:
设置用户名和邮箱的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git 首次安装必须设置一下用户签名,否则无法提交代码。
※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任何关系。
操作示例:
2.2 初始化本地库
2.2.1、命令
git init
注:在想要初始化本地库的目录右键,选择Git Bash Here
,再在Git窗口中执行该命令
2.2.2 操作案例
会在本地库目录下生成一个.git目录
2.3 查看本地库状态
2.3.1 命令
git status
2.3.2 操作案例
1、首次操作
大概显示意思:在master分支上没有以及提交的内容,可以创建文件并使用git add
进行跟踪
2、新增文件
新增一个文件test.txt,
此时表示我们的工作区中已经有了一个未提交的文件。然后再使用git status
查看状态,会提示有一个未跟踪的文件
2.4 将工作区的文件添加到暂存区
2.4.1 命令
1、git add [file] [file2] …添加一个或多个文件到暂存区
2、git add [dir]:添加指定目录到暂存区,包括子目录
3、git add .:添加当前目录下的所有文件到暂存区
2.4.2 操作案例
注:这里会有一个警告,提示文件中的换行符会由LF
替换调 CRLF
,可以忽略。
2.4.3 查看状态
2.4.4 从暂存区删除文件
1、命令
git rm --cached 文件名称
git rm --cached -r 文件夹名称
2、操作案例
注意,该命令仅仅是从暂存区删除,工作区文件还是存在的
2.5 提交本地库
2.5.1 命令
git commit -m “提交注释” 文件名
1、git commit -m [提交的描述] file1.txt file2.txt :提交暂存区的file1,file2到仓库区
2、git commit -m [提交的描述]:提交整个暂存区到本地仓库中
2.5.1 操作案例
2.5.2 查看提交完成后的状态
提交完成后查看状态,显示没有文件需要提交。
2.6 查看历史版本
2.6.1 命令
git reflog 查看版本信息
git log 查看版本详细信息
2.6.1 操作案例
2.7 历史版本切换
2.7.1 命令
git reset --hard 版本号
2.7.2 操作实例
# 1、首先查看当前的历史记录,可以看到当前是在 84eefdd 这个版本
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ git reflog
84eefdd (HEAD -> master) HEAD@{0}: commit: 新添加第8行
f9a932f HEAD@{1}: commit (initial): 这里写提交的注释内容
#2、切换到 f9a932f 版本,也就是我们第一次提交的版本
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ git reset --hard f9a932f
HEAD is now at f9a932f 这里写提交的注释内容
#3、切换完毕之后再查看历史记录,当前成功切换到了 f9a932f 版本
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ git reflog
f9a932f (HEAD -> master) HEAD@{0}: reset: moving to f9a932f
84eefdd HEAD@{1}: commit: 新添加第8行
f9a932f (HEAD -> master) HEAD@{2}: commit (initial): 这里写提交的注释内容
#4、然后查看文件 test.txt,发现文件内容已经变化,新添加的第8行已经没有了
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ cat test.txt
第1行:tets git 命令!!!
第2行:tets git 命令!!!
第3行:tets git 命令!!!
第4行:tets git 命令!!!
第5行:tets git 命令!!!
第6行:tets git 命令!!!
第7行:tets git 命令!!!
#5、重新切换到 84eefdd 版本
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ git reset --hard 84eefdd
HEAD is now at 84eefdd 新添加第8行
#6、切换成功后,发现我们的文件内容已经发生改变
YL@LAPTOP-O2H3MVS5 MINGW64 ~/Desktop/临时文件/Git学习 (master)
$ cat test.txt
第1行:tets git 命令!!!
第2行:tets git 命令!!!
第3行:tets git 命令!!!
第4行:tets git 命令!!!
第5行:tets git 命令!!!
第6行:tets git 命令!!!
第7行:tets git 命令!!!
第8行:新添加 tets git 命令!!!
2.8 比较工作区和暂存区区别
2.8.1 命令
git diff 文件
2.8.2 操作实例
将test.txt 的第8行最后添加+++
,并添加第9行后,对比暂存区和工作区文件的差别