文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
查看提交历史
git log
提供的命令相当多,可以通过 git help log
查看,基本上可以满足我们日常查询需求。
- 查看日志
# 普通查看,显示当前分支的版本历史
git log
# 显示 commit 历史,以及每次 commit 发生变更的文件
git log --stat
# 搜索提交历史,根据关键词
git log -S [keyword]
# 显示某个 commit 之后的所有变动,每个 commit 占据一行
git log [tag] HEAD --pretty=format:%s
# 显示某个 commit 之后的所有变动,其"提交说明"必须符合搜索条件
git log [tag] HEAD --grep feature
# 显示某个文件的版本历史,包括文件改名
git log --follow [file]
git whatchanged [file]
# 显示指定文件相关的每一次 diff
git log -p [file]
# 显示过去 5 次提交
git log -5 --pretty --oneline
# 显示所有提交过的用户,按提交次数排序
git shortlog -sn
# 显示指定文件是什么人在什么时间修改过
git blame [file]
# 简略形式(每次提交占一行)
git log --oneline
# 查看详细修改(只看最近两条)
git log -p -2
# 查看详细修改(只看 5 至 8 条)
git log -p --skip=5 -3
# 展示文件修改的量
git log --shortstat
# 简略展示,加分支情况
git log --pretty=format:"%h %s" --graph
# 查看单个文件被修改的情况
git log -p src/index.jsx
# 查看 liujie 修改过的.jsx 文件
git log --author='liujie' \*.jsx
# 查看 liujie 在 2018 年 5 月内的所有动态:git log --author='liujie' --since='2018-05-01' --before='2018-06-01'
# 查看包含'Fix bug'的日志,一行展示
git log --grep='Fix bug' --oneline
# 查看某次修改的内容
git show 3a92f20(SHA)
# 查看 git-log 全貌命令,可以通过 alias 写到 .bashrc/.zshrc 中
alias gitlog="git log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"
默认不用任何参数的话, git log
会按提交时间列出所有的更新,最近的更新排在最上面。该命令会列出每个提交的 SHA-1
校验和、作者的名称和电子邮件地址、提交时间以及提交说明。
- 查看某一历史版本的提交内容,这里能看到版本的详细修改代码
# 显示某次提交的元数据和内容变化
git show 版本号
# 显示某次提交发生变化的文件
git show --name-only [commit]
# 显示某次提交时,某个文件的内容
git show [commit]:[filename]
- 对比不同版本
git diff 版本号 1 版本号 2
# 显示暂存区和工作区的差异
git diff
# 显示暂存区和上一个 commit 的差异
git diff --cached [file]
# 显示工作区与当前分支最新 commit 之间的差异
git diff HEAD
# 显示两次提交之间的差异
git diff [first-branch]...[second-branch]
# 显示今天你写了多少行代码
git diff --shortstat "@{0 day ago}"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论