git 使用手册

  1. git log 使用

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 <272551766@qq.com>
# 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"

具体的格式化方式可以参看文档


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 nickchenyx@gmail.com

Title:git 使用手册

Count:638

Author:nickChen

Created At:2020-08-01, 10:57:56

Updated At:2023-05-08, 23:27:10

Url:http://nickchenyx.github.io/2020/08/01/git-usage/

Copyright: 'Attribution-non-commercial-shared in the same way 4.0' Reprint please keep the original link and author.