知乎专栏 |
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ai) %C(bold blue)<%an>%Creset' --abbrev-commit
使用git命令计算文件的 sha-1 值
neo@MacBook-Pro ~ % echo 'test content' | git hash-object --stdin d670460b4b4aece5915caf5c68d12f560a9fe3e4
Neo-iMac:test.netkiller.cn neo$ git log --name-status commit 120f1bb6ff391c6b9b24899804f0292370873485 (HEAD -> main) Author: 陈景峰 <neo@netkiller.cn> Date: Thu Dec 2 04:10:16 2021 +0000 Initial commit A README.md Neo-iMac:test.netkiller.cn neo$ git log --name-status --oneline 120f1bb (HEAD -> main) Initial commit A README.md
Neo-iMac:www.netkiller.cn neo$ git log --name-status --oneline --graph * 7ca7fb7 (HEAD -> main, origin/main, origin/HEAD) sign | M README.md * ba9a9a6 更新.gitlab-ci.yml文件 | M .gitlab-ci.yml * 8af932e 更新.gitlab-ci.yml文件 | M .gitlab-ci.yml * 6fe467b Update app.js | M app.js * a019da0 更新.gitlab-ci.yml文件 | M .gitlab-ci.yml * 65afb8b 更新.gitlab-ci.yml文件 | M .gitlab-ci.yml * 061c78d 更新.gitlab-ci.yml文件 | A .gitlab-ci.yml * 149daf5 Add new file | A app.js * e927196 更新README.md A README.md
neo@MacBook-Pro-Neo ~/workspace/devops % git log -- setup.py
diff 风格
neo@MacBook-Pro-Neo ~/workspace/devops % git log -p -- setup.py commit abe282e68ad81e0e72cb8c700ba5c4db87c647a4 Author: neo <netkiller@msn.com> Date: Thu Sep 30 14:07:02 2021 +0800 voice diff --git a/setup.py b/setup.py deleted file mode 100644 index 08f9d08..0000000 --- a/setup.py +++ /dev/null @@ -1,59 +0,0 @@ -import os,sys -from setuptools import setup,find_packages -sys.path.insert(0, os.path.abspath('lib')) -from netkiller import __version__, __author__ - -with open("README.md", "r") as fh: - long_description = fh.read() - -setup( - name="netkiller-devops", - version="0.2.4",
oneline 风格
neo@MacBook-Pro-Neo ~/workspace/devops % git log --pretty=oneline -- setup.py abe282e68ad81e0e72cb8c700ba5c4db87c647a4 voice fda886b0ae1526020c366cea2b747b3ceda18ff6 语音通知 cb2ca23a81b2384b79d7b32bb2e84782bb80edaf 企业微信通知 ac8e573123142a2856d44d13307dd4c46b134ceb fixed logging bug 1c609b9242c8f404ec4bba207dd8c9d836e591d4 docker 增加日志功能
格式参数
%H: 标准长度 commit hash %h: 缩短的 commit hash %T: tree hash %t: 缩短的 tree hash %P: parent hashes %p: 缩短的 parent hashes %an: 作者名字 %aN: mailmap的作者名字 (.mailmap对应,详情参照git-shortlog(1)或者git-blame(1)) %ae: 作者邮箱 %aE: 作者邮箱 (.mailmap对应,详情参照git-shortlog(1)或者git-blame(1)) %ad: 日期 (--date= 制定的格式) %aD: 日期, RFC2822格式 %ar: 日期, 相对格式(1 day ago) %at: 日期, UNIX timestamp %ai: 日期, ISO 8601 格式 %cn: 提交者名字 %cN: 提交者名字 (.mailmap对应,详情参照git-shortlog(1)或者git-blame(1)) %ce: 提交者 email %cE: 提交者 email (.mailmap对应,详情参照git-shortlog(1)或者git-blame(1)) %cd: 提交日期 (--date= 制定的格式) %cD: 提交日期, RFC2822格式 %cr: 提交日期, 相对格式(1 day ago) %ct: 提交日期, UNIX timestamp %ci: 提交日期, ISO 8601 格式 %d: ref名称 %e: encoding %s: commit信息标题 %f: sanitized subject line, suitable for a filename %b: commit信息内容 %N: commit notes %gD: reflog selector, e.g., refs/stash@{1} %gd: shortened reflog selector, e.g., stash@{1} %gs: reflog subject %Cred: 切换到红色 %Cgreen: 切换到绿色 %Cblue: 切换到蓝色 %Creset: 重设颜色 %C(...): 制定颜色, as described in color.branch.* config option %m: left, right or boundary mark %n: 换行 %%: a raw % %x00: print a byte from a hex code %w([[,[,]]]): switch line wrapping, like the -w option of git-shortlog(1)
命令演示
git log --since="2023-02-11" --no-merges --pretty=format:"%h %an %ai %s"