git status
git status -uno
git log -- arch/arm/kvm/init.S
git log -p -- arch/arm/kvm/init.S
如何在项目提交历史中找到已删除的文件?
获取已删除文件的列表并复制已删除文件的完整路径
git log --diff-filter=D --summary | grep delete
执行下一个命令以查找该提交的提交ID并复制提交ID
git log --all -- FILEPATH
显示已删除文件的差异
git show COMMIT_ID -- FILE_PATH
请记住,您可以使用>like 将输出写入文件
git show COMMIT_ID -- FILE_PATH > deleted.diff
git tag
git show 541ad0150ca4aa663a2dcb9c834ab493168fe494:Documentation/virt/kvm/arm/hyp-abi.rst
git log | grep "^Author: " | awk '{print $2}' | sort | uniq -c | sort -k1,1nr 查看当前分支所有提交者及其次数
git show 541ad0150ca4aa663a2dcb9c834ab493168fe494 --summary
git describe --tags e5670c8
git log --decorate --graph
git log --decorate --graph --oneline
# 工作区
# 暂存区(最新一次 add)
# 版本库(最新一次commit)
#
#查看工作区
git ls-files
#工作区和 暂存区
git diff <file>
#工作区和 版本库
git diff HEAD
#暂存区和版本库
git diff --staged # 比较暂存区和版本库差异
git diff --cached # 比较暂存区和版本库差异
# add 后 回退
git checkout -- filename
TODO
技巧 3:查找 Commits 和更改
通过 Commits 信息查找
# 通过commit信息查找(所有分支)
git log --all --grep='<search term>'
# 通过commit信息查找(包含reflog)
git log -g --grep='<search term>'
通过更改查找
# 通过更新的内容查找
git log -S '<search term>'
通过日期查找
# 通过日期范围查找
git log --after='DEC 15 2019' --until='JAN 10 2020'
1、#会保留所有的操作记录,但是git log不会保留reset之前的记录
git reflog
3、# 每个提交在一行内显示
git log --oneline
4、# 在所有提交日志中搜索包含「homepage」的提交 (测试未过)
git log --all --grep='homepage'
5、# 获取某人的最近一次的提交日志
git log --author="XiaoRan"
Git reflog
Git reflog 记录了 git 某个分支的每次操作,通常用来恢复误操作影响的数据。
$ git reflog
1dcfb0f HEAD@{0}: reset: moving to 1dcfb0f
d5640a9 HEAD@{1}: checkout: moving from test to master
1dcfb0f HEAD@{2}: checkout: moving from icehouse to test
$ git reset d5640a9
https: