在git中可以使用--pretty=format命令修饰日志:
# --pretty=format:"xxx" 自定义的输出格式
# --date="format:%Y%m%d" 自定义的日期格式
# -1 显示的commit次数
git log --pretty=format:"%h %cd %s" --date="format:%Y%m%d" -1
git log --pretty=format:"{\"id\": \"%h\", \"data\": \"%cd\", \"message\": \"%s\"}" --date="format:%Y%m%d" -1
常用的格式如下:
格式 | 说明 |
%H | 输出commit id(完整) |
%h | 输出commit id(前10位) |
%s | 输出commit message(git commit -m "xxx"中的内容) |
%cd | 输出commit date(日期+时间) |
date='format:%Y%m%d' | 设置%cd的输出格式: 年份:%Y 月份:%m 天数:%d 小时:%H 分钟:%M 秒数:%S |
Python的git库对--pretty=format命令进行了封装:文章来源:https://www.toymoban.com/news/detail-752243.html
import json
import git
# 获取commit信息 # {"commit":"abcde12345","date":"20230414","summary":"xxx"}
repo = git.Repo('/home/Project/test/src')
commit_dict = json.loads(repo.git.log('--pretty=format:{"commit":"%h", "date":"%cd", "summary":"%s"}', date='format:%Y%m%d', max_count=1))
print(commit_dict)
除此之外,也可以使用commit方法获取信息:文章来源地址https://www.toymoban.com/news/detail-752243.html
import json
import git
# 获取当前项目最后一次递交的commit信息
repo = git.Repo('/home/Project/test/src')
message = repo.commit().message
date = repo.commit().committed_datetime
date_str = datetime.datetime.strftime(date, '%Y%m%d')
# 获取指定id的commit信息
commit_id = 'abcde12345'
message = repo.commit(commit_id).message
date = repo.commit(commit_id).committed_datetime
date_str = datetime.datetime.strftime(date, '%Y%m%d')
到了这里,关于Python git.Repo 获取commit信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!