1、新建一个分支
git branch tmp
![](https://img-blog.csdnimg.cn/img_convert/414f304375eee49f635b00beafe2c446.png)
2、查看本地分支
git branch
查看到本地有两个分支,当前分支是main分支,还有一个新建的 tmp 分支
![](https://img-blog.csdnimg.cn/img_convert/9a15fa2ca58a694fbed11279b73fa03a.png)
3、切换分支(checkout)
git checkout tmp
![](https://img-blog.csdnimg.cn/img_convert/37d4db0b5ea0bd8d96a0714f72db8043.png)
可以看到已经切换到tmp分支了
![](https://img-blog.csdnimg.cn/img_convert/6e6d4be5dd21af27f2ba4be1081d7cf0.png)
4、查看文件的状态(status)
git status
在tmp分支下创建一个gitFile文件,查看文件的状态,红色的文件表示还未添加到暂存区中
![](https://img-blog.csdnimg.cn/img_convert/3b12bd165b39270698e0689298bcbf09.png)
5、把文件添加到暂存区(add)
git add gitFile.txt
添加到暂存区之后再次查看文件的状态,绿色的文件表示已经添加到暂存区中
![](https://img-blog.csdnimg.cn/img_convert/2aabab73ba2723549c00794874ba27f0.png)
6、从暂存区中移除文件(restore)
git restore --staged gitFile.txt
再次查看文件的状态
![](https://img-blog.csdnimg.cn/img_convert/857280008e877008190dacd1902fa286.png)
7、暂存区的文件提交到本地仓库(commit)
git commit -m "git 命令简单使用" // 提交暂存区中所有的文件
git commit gitFile.txt -m "git 命令简单使用" // 提交暂存区中指定的文件
![](https://img-blog.csdnimg.cn/img_convert/5c6f6decf8bdbd9f055f241059acc97a.png)
8、查看历史提交记录(log)
git log
![](https://img-blog.csdnimg.cn/img_convert/def38a11783f6f0bde4e8ad85a681496.png)
注:git log状态下,按下q退出
9、撤销commit操作(reset)
git reset --soft HEAD~1 // 撤销最近一次的提交(上一次的提交)
git reset --soft HEAD~2 // 撤销上上次的提交
可以看到,撤销commit后,文件回到了暂存区(绿色的文件)
![](https://img-blog.csdnimg.cn/img_convert/ea07f0eac11faf3fff4eb741c372ec6e.png)
–mixed
不删除工作空间改动代码,撤销commit,并且撤销git add 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
–soft
不删除工作空间改动代码,撤销commit,不撤销git add .
–hard
删除工作空间改动代码,撤销commit,撤销git add .
10、修改commit时的注释(amend)
git commit --amend
输入命令后如下所示,接着输入 e 进行编辑
![](https://img-blog.csdnimg.cn/img_convert/503cea960bb75ebcaabe0232dd061319.png)
按下 i ,就可以进行插入编辑了
![](https://img-blog.csdnimg.cn/img_convert/2be485036829e017607c1dde44f3e6aa.png)
注释添加完成,按下 Esc 之后输入 :wq 退出编辑,注释修改成功
![](https://img-blog.csdnimg.cn/img_convert/d974210638870d28e67310fcc9038c64.png)
查看log,注释修改成功
![](https://img-blog.csdnimg.cn/img_convert/2d70f432bac89b653e961c8aa2d41191.png)
11、本地分支推送到远程分支(push)
git push <远程主机名> <本地分支名>:<远程分支名>
远程主机名默认为 origin
// 本地分支名和远程分支名不同时
// 本地分支(tmp)推送到远程分支(gitFileTmp)如果不存在则新建一个
git push origin tmp:gitFileTmp
// 本地分支名和远程分支名相同时(省略远程分支名)
git push origin gitFileTmp
// 在当前(tmp)分支下,可以直接简单使用
git push
![](https://img-blog.csdnimg.cn/img_convert/ddee23ffa2c20e83d6a03b6cb559e71e.png)
12、撤销push操作
git reset --soft a4acd9a62be609117abab3a3f9975ba4900d44c4 // 回退到的版本号
git push origin tmp --force
待续......