git log 使用
git rebase
---A---B---C---D(master)
\
\---E'---F' (feat)j
当前开发在 feat 分支,需要合并 master 代码,使用:
➜ git rebase -i master
合并的时候处理好冲突,合并结束后:
(master)
---A---B---C---D---E'---F'(feat)
此时如果需要将 master 更新到 feat 处,可以使用:
➜ git checkout master
➜ git merge --ff feat
执行完成后:
---A---B---C---D---E'---F'(feat)
\
\(master)
删除 feat 分支可以使用:
➜ git branch -d feat
此时分支链路为:
---A---B---C---D---E---F(master)
精简 log 打印
git log --online
# 01e21e1 (HEAD -> master, origin/master, origin/HEAD) !2 Feature:add lambda support
# 55118f9 Feature:add lambda support
# 96c6a84 !1 Feat:clean code fragement Merge pull request !1 from 寒沧丶/clean
# d52d730 clean:clean code fragment
# 0b2ab33 update .gitignore.
# d682d2b update README.md.
查询时间范围内的 log 信息
# 只显示2020-08-01到2020-08-08日的提交
git log --after="2020-08-01" --before="2020-08-08"
# 显示昨天之后的提交
git log --after="yesterday"
# 显示这一星期的提交
git log --after="1 week ago"
git log --after="10 day ago"
git log --after="1 month ago"
在log 中展示变更
git log -p
# commit 679890d2e3cd7cb53ca586cea72ad1d5abb472e5
# Author: tianyaleixiaowu <[email protected]>
# Date: Mon May 11 21:55:34 2020 +0800
#
# update QuickStart.md.
#
# diff --git a/QuickStart.md b/QuickStart.md
# index 01c8cc9..0bbc812 100644
# --- a/QuickStart.md
# +++ b/QuickStart.md
# @@ -26,7 +26,7 @@
# <dependency>
# <groupId>com.gitee.jd-platform-opensource</groupId>
# <artifactId>asyncTool</artifactId>
# - <version>V1.2-SNAPSHOT</version>
# + <version>V1.3-SNAPSHOT</version>^M
# </dependency>
*根据提交者过滤 log *
git log --author="nickChen"
根据提交信息检索 log
git log --grep="README"
# -i 忽略大小写
git log -i --grep="README"
# 正则搜索包含 README 或 changelog 的提交信息
git log -i --grep="README\|changelog"
查看某个文件的变更log
# 查看这几个文件的提交记录,并打印diff
git log -p README.md changelog
# 上述情况下,查询包含 fix 信息的提交记录
git log -i --grep="fix" -p README.md changelog
查看文件内容的变更 log
# 查看提交变更中包含 void begin(); 所有 commit log,并打印 log 变更内容
# 根据文件内容的提交来查询变更,比较方便定位代码中的一些变化
git log -i -S"void begin();" -p
查看 merge commit log
git log --merges
查看两个分支之间的diff
# 查看在 develop 基础上相较于 master 多了哪些 commit
git log master..develop
自定义 log 的输出格式
git log --pretty=format:"%Cred%an - %ar%n %Cblue %h -%Cgreen %s %n"
具体的格式化方式可以参看文档
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]