Git笔记:日志

2025-06-07  本文已影响0人  _百草_

git log # 查看历史提交记录
git blame <file> # 以列表方式查看指定文件的历史修改记录
git reflog # 所有HEAD的移动,包括提交被删除或重置


1、git log

提交更新、克隆项目
从最新提交到最早提交的所有提交信息:提交哈希值commit-hash、作者、提交日期和提交信息等
git log [选项] [分支名/提交哈希值]
常用方法:
git log
git log <filename> # 指定文件的log
git log -p <filename> # 显示每次提交的差异
git log -n <number>git log -<number> # 限制显示提交次数
git log --oneline # 简洁版本
git log --graph # 查看历史中什么出现分支、合并(拓扑图)
git log --reverse # 逆向显示所有日志
git log --author=xx # 查找指定用户(模糊匹配)提交的日志
git log --since=<时间>--after # 只显示指定时间之后的提交
git log --until=<时间>--before # 只显示指定时间之前的提交
git log --no-merges # 不显示合并提交
git log origin/<branch> # 查看branch分支的日志

$ git log
commit 9851c569fb66e68c253f2abea74d8f6b915050a7 (HEAD -> master, tag: v1.0.0)
Author: bai-cao <2944717202@qq.com>
Date:   Fri Jun 6 17:38:52 2025 +0800
    commit part files

commit 01d8e952c1c2b8eab26968475215e3f85bc3c13c
Author: bai-cao <2944717202@qq.com>
Date:   Fri Jun 6 17:33:25 2025 +0800
    del other files

commit 1d2db8f2d93c94adffd33cdadc381c0051d08f80 (branch_1)
Merge: 03193ee ff3d430
Author: bai-cao <2944717202@qq.com>
Date:   Fri Jun 6 09:44:33 2025 +0800
    Merge branch 'main' of github.com:bai-cao/python_clone


$ git log --oneline
9851c56 (HEAD -> master, tag: v1.0.0) commit part files
01d8e95 del other files
1d2db8f (branch_1) Merge branch 'main' of github.com:bai-cao/python_clone
ff3d430 (origin/main, origin/HEAD) Merge branch 'branch_1' add add.txt updete 0512 del commit
2a8fc82 (origin/branch_1) add add.txt,update 0512,del commit
1d5fa89 Initial commi


$ git log --graph --oneline
* 9851c56 (HEAD -> master, tag: v1.0.0) commit part files
* 01d8e95 del other files
*   1d2db8f (branch_1) Merge branch 'main' of github.com:bai-cao/python_clone
|\
| *   ff3d430 (origin/main, origin/HEAD) Merge branch 'branch_1' add add.txt updete 0512 del commit
| |\
| | * 2a8fc82 (origin/branch_1) add add.txt,update 0512,del commit
| * | 2398567 Merge branch 'branch_1' test merge branch_1:you commit.zip main: you package
| |\|
| | * d725553 del package0509
| * | 6a0f11b del commit.zip
| * |   5387b50 Merge branch 'main' of github.com:bai-cao/python_clone
| |\ \
| | * \   ca90e91 Merge pull request #2 from bai-cao/branch_1
| | * \   ca90e91 Merge pull request #2 from bai-cao/branch_1
| | |\ \
| * | \ \   ba9e40b Merge branch 'branch_1' delete branch_1 files
| |\ \ \ \
| | | |_|/
| | |/| |
| | * | | 72d0294 del branch_1 file
| | | |/
| | |/|
| * | | 3e8a03f Merge branch 'branch_1' commit comment
| |\| |
| | * | a8240b4 新增docx
| | * | 4211f08 add new branch_1
| | |/
| * / b2e6df7 add new branch_1
| |/
| * 948b81d Update README.md
| *   ca7be4e merge conflict in README.md
| |\
| | * d240b54 Initial commit
| * c4ff9f4 a_branch:add a.txt
| * d89c6fb 新增
| * 0e02d19 新增Package
| * 1d5fa89 Initial commit
* 03193ee commit 2


$ git log --reverse --oneline
1d5fa89 Initial commit
0e02d19 新增Package
d89c6fb 新增
c4ff9f4 a_branch:add a.txt
d240b54 Initial commit
ca7be4e merge conflict in README.md


$ git log --author=baicao --oneline
$ git log --author=bai --oneline
9851c56 (HEAD -> master, tag: v1.0.0) commit part files
01d8e95 del other files
1d2db8f (branch_1) Merge branch 'main' of github.com:bai-cao/python_clone
03193ee commit 2


$ git log --oneline --before={1.weeks.ago} --no-merges
d240b54 Initial commit
c4ff9f4 a_branch:add a.txt
d89c6fb 新增
0e02d19 新增Package
1d5fa89 Initial commit


$ git log --oneline --after={1.days.ago} --no-merges  # 最近1天内的
9851c56 (HEAD -> master, tag: v1.0.0) commit part files
01d8e95 del other files
$ git log --oneline --after={2025-06-06} --no-merges  # 最近1天内的
9851c56 (HEAD -> master, tag: v1.0.0) commit part files
01d8e95 del other files


$ git log -n 3 --oneline
9851c56 (HEAD -> master, tag: v1.0.0) commit part files
01d8e95 del other files
1d2db8f (branch_1) Merge branch 'main' of github.com:bai-cao/python_clone
$ git log -1
commit 9851c569fb66e68c253f2abea74d8f6b915050a7 (HEAD -> master, tag: v1.0.0)
Author: bai-cao <2944717202@qq.com>
Date:   Fri Jun 6 17:38:52 2025 +0800

    commit part files

2、git blame <file>

逐行显示(列表形式)指定文件的每一行代码是由谁在什么时候引入或修改的(包括作者、提交哈希、提交日期和提交信息等)
git blame [选项] <文件路径>

git blame -L <起始行号>,<结束行号> <文件路径> # 只显示指定行号范围内的代码注释
git blame -C <文件路径> # 对应重命名或拷贝的代码行,进行溯源??
git blame -M <文件路径> # 对改动代码进行溯源???
git blame --show-stats <文件路径> # 显示统计行信息
git blame --help # 查看完整帮助文档

$ git blame commit_update.txt
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 1) 1. 修改pro/settings,ALLOWED_HOST=['*']
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 2)     - 再次启动,可以使用 python manage.py runserver 0.0.0.0:8000;可使用ip:8000访问
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 3) 2. 修改pro/settings,INSTALLED_APP添加 ‘app_name’
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 4) 3. 修改app/view.py,添加方法welcome


$ git blame -L 3,5 commit_update.txt
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 3) 2. 修改pro/settings,INSTALLED_APP添加 ‘app_name’
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 4) 3. 修改app/view.py,添加方法welcome
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 5)     **升级:**


$ git blame -C commit_update.txt
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 1) 1. 修改pro/settings,ALLOWED_HOST=['*']
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 2)     - 再次启动,可以使用 python manage.py runserver 0.0.0.0:8000;可使用ip:8000访问
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 3) 2. 修改pro/settings,INSTALLED_APP添加 ‘app_name’
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 4) 3. 修改app/view.py,添加方法welcome
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 5)     **升级:**
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 6)       - 传参render方法的content参数,需字典类型`render(request,'welcome.html',{"name":today})`
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 7)     - templates中{{key}}引用参数值(key即字典的键)
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 8) 4. 修改pro/urls.py,urlpatterns添加映射 path('welcome/', welcome)


$ git blame -M commit_update.txt
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 1) 1. 修改pro/settings,ALLOWED_HOST=['*']
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 2)     - 再次启动,可以使用 python manage.py runserver 0.0.0.0:8000;可使用ip:8000访问
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 3) 2. 修改pro/settings,INSTALLED_APP添加 ‘app_name’
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 4) 3. 修改app/view.py,添加方法welcome
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 5)     **升级:**
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 6)       - 传参render方法的content参数,需字典类型`render(request,'welcome.html',{"name":today})`
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 7)     - templates中{{key}}引用参数值(key即字典的键)
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 8) 4. 修改pro/urls.py,urlpatterns添加映射 path('welcome/', welcome)


$ git blame --show-stats commit_update.txt
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 1) 1. 修改pro/settings,ALLOWED_HOST=['*']
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 2)     - 再次启动,可以使用 python manage.py runserver 0.0.0.0:8000;可使用ip:8000访问
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 3) 2. 修改pro/settings,INSTALLED_APP添加 ‘app_name’
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 4) 3. 修改app/view.py,添加方法welcome
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 5)     **升级:**
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 6)       - 传参render方法的content参数,需字典类型`render(request,'welcome.html',{"name":today})`
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 7)     - templates中{{key}}引用参数值(key即字典的键)
ef903146 (bai-cao 2025-06-07 18:05:04 +0800 8) 4. 修改pro/urls.py,urlpatterns添加映射 path('welcome/', welcome)
num read blob: 3
num get patch: 2
num commits: 2


3、git reflog

$ git reflog
ef90314 (HEAD -> main) HEAD@{0}: reset: moving to ef90314
ef90314 (HEAD -> main) HEAD@{1}: commit: 添加django信息
ea1a7ad HEAD@{2}: commit: 删除文件
7337b01 (origin/main, origin/HEAD) HEAD@{3}: Branch: renamed refs/heads/master to refs/heads/main
7337b01 (origin/main, origin/HEAD) HEAD@{5}: commit: 提交5个文件的修改和删除操作
9851c56 (tag: v1.0.0) HEAD@{6}: commit: commit part files
01d8e95 HEAD@{7}: commit: del other files
1d2db8f (branch_1) HEAD@{8}: checkout: moving from branch_1 to master
1d2db8f (branch_1) HEAD@{9}: checkout: moving from 1d2db8f2d93c94adffd33cdadc381c0051d08f80 to branch_1
1d2db8f (branch_1) HEAD@{10}: checkout: moving from branch_1 to master
1d2db8f (branch_1) HEAD@{11}: checkout: moving from master to branch_1
1d2db8f (branch_1) HEAD@{12}: checkout: moving from 03193ee2fb74009a93b937e3cc2e31015a1a134b to master
03193ee HEAD@{13}: checkout: moving from master to 03193ee2fb74009a93b937e3cc2e31015a1a134b
1d2db8f (branch_1) HEAD@{14}: reset: moving to HEAD^
21fd846 HEAD@{15}: commit: 提交 modified new.txt
1d2db8f (branch_1) HEAD@{16}: pull --allow-unrelated-histories origin main: Merge made by the 'ort' strategy.
03193ee HEAD@{17}: commit: commit 2
7bdd6dd HEAD@{18}: commit: commit 1
ed39a46 HEAD@{19}: commit: modified add.txt
2c01c1c HEAD@{20}: commit: test
01637e5 HEAD@{21}: commit: test
097a12e HEAD@{22}: commit (amend): commit add.txt 修改--amend
918269c HEAD@{23}: commit: commit add.txt
7062633 HEAD@{24}: commit (initial): com

# HEAD@{n}  可以在恢复和回退时直接使用

4、参考

1、Git 查看提交历史

上一篇 下一篇

猜你喜欢

热点阅读