文章目录
Git常用命令包含很多
-
初始化
init
-
添加和提交
add、commit
-
状态查看
status
-
日志查看
log、reflog
-
回滚操作
reset
-
删除文件之后的恢复
其实就是重置到最近的一次提交 reset
-
对比文件
diff
1. 初始化
初始化仓库,要把本地磁盘中的哪个文件作为git仓库
创建一个新的文件夹
初始化仓库
git init
会在当前目录下生成一个隐藏的文件夹.git
.git
中的文件不要删除,不要修改,否则可能会导致仓库不能使用
2. 添加和提交
上文中介绍到,本地分三个区域
- 工作区
- 暂存区
- 本地库
add 是将工作区的代码提交到暂存区
commit 是将暂存区中的文件提交到本地库
git add [要添加的目录或者文件(.代表所有)]
git commit [要提交的目录或者文件] -m "注释"
新建一个文件 Demo1.txt,添加,提交
vim Demo1.txt
git add Demo1.txt
git commit Demo1.txt -m "提交Demo1.txt"
注意
- 不在本地仓库中的文件,git是不进行管理的
- 即使放到本地仓库中的文件,git也不进行管理,必须通过add,commit提交操作才可以将内容提交到本地库
3. 查看文件状态
当前文件处于什么那个区域,是通过status命令区查看的
新建Demo2.txt,查看状态
vim Demo2.txt
git status
添加到暂存区,查看状态
git add Demo2.txt
git status
提交到本地库,查看状态
git commit Demo2.txt -m "提交Demo2.txt"
git status
修改Demo2.txt,重新查看状态
vim Demo2.txt
git status
重新添加,查看状态
git add Demo2.txt
git status
重新提交到本地库,查看状态
git commit Demo2.txt -m "修改Demo2.txt"
git status
4. 查看日志
4.1 git log
使用git log
命令,查看日志
git log
HEAD 指向当前所在的版本号和分支
从上到下,为时间从近道远的
git log
是带分页效果的
- 上一页 b
- 下一页 空格
- 最后 显示(END)
- 退出 q
4.2 git log –pretty-oneline
使用git log --pretty-oneline
可以在一行展示
git log --pretty-oneline
4.3 git log –oneline
使用git log --oneline
可以在一行展示,并且显示短的标识号
git log --oneline
4.4 git reflog
使用git reflog
在 git log --oneline
基础上多了HEAD@{数字}
这个数字的含义是,指针回到当前版本需要走多少步
git reflog
5. 回滚
5.1 git reset
使用git reset
回退或者前进到历史版本
git refloggit reset --hard 4ae6440
git reflog
5.2 hard/mixed/soft
- hard
git reset –hard [索引]
本地库指针移动的同时,重置暂存区,重置工作区,不保留代码
修改一次Demo2.txt,内容改为aabbccc,重新添加,提交
git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog
回滚,查看状态,工作区内容和暂存区都没有保留
git reset --hard f810965
git reflog
git status
- mixed
git reset –mixed [索引]
本地库指针移动的同时,重置暂存区,保留工作区,保留代码
修改一次Demo2.txt,内容改为aabbccc,重新添加,提交
git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog
回滚,查看状态,可以看到,工作区的代码还在
git reset --mixed f810965
git reflog
git status
- soft
git reset –soft [索引]
本地库指针移动的同时,保留工作区和暂存区
重新添加,提交
git add Demo2.txt
git commit Demo2.txt -m "修改Demo2.txt"
git reflog
回滚,查看状态,可以看到,暂存区,工作区的代码都还在
git reset --soft f810965
git reflog
git status
6. 删除文件之后的恢复
- 删除文件,并且已经同步到本地库了,想恢复
- 删除文件,提交暂存了,但是还没有同步本地库,想恢复
现在的环境
6.1 恢复本地库删除的文件
删除Demo2.txt,添加,提交,查看日志
rm -rf Demo2.txt
git add Demo2.txt # 其实就是将删除操作添加
git commit Demo2.txt -m "删除Demo.txt" # 其实就是将删除操作提交
git reflog
恢复Demo2.txt,其实就是重置到前一次提交
git reset --hard 006db80
git reflog
6.2 重置暂存区的修改
对于没有提交到本地库的更改,可以重置掉。使用reset重置到当前本地库的指针HEAD即可
删除Demo2.txt,添加,查看状态
rm -rf Demo2.txt
git add Demo2.txt # 其实就是将删除操作添加
git status
重置更改,对于为提交本地库的,直接重置到本地库的当前指针即可。当然也可以使用唯一标识号
git reflog
git reset --hard HEAD
git status
7. 文件比对
当文件修改之后,我们要对比文件的变更详情,可以使用diff
- 对比工作区和暂存区的更改
- 对比暂存区和本地库某个版本直接的差异
7.1 对比工作区和暂存区
使用git diff [文件名]
修改文件Demo2.txt的内容,对比
# Demo2.txt
aabbccc
添加内容aaa
# 对比文件
git diff Demo2.txt
7.2 对比暂存区和本地库
git diff [版本号] 文件名
版本号必须添加,如果是最新的,可以使用HEAD代替
将Demo2.txt提交到暂存区,对比暂存区和本地库最新版本的差异
对比和本地库历史版本的变更 9354de0
git reflog
git diff 9354de0 Demo2.txt
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/68315.html