Python git.Repo 获取commit信息

这篇具有很好参考价值的文章主要介绍了Python git.Repo 获取commit信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 在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命令进行了封装:

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 更改remote repo 地址

    我们想更换远程 repo 地址, 因为我们仓库更换了名称. git remote rename origin 查看现在的 romote 地址 参考文档 https://www.cnblogs.com/Nyan-Workflow-FC/p/14454788.html 分享快乐,留住感动. \\\'2023-12-10 06:53:23\\\' --frank

    2024年02月04日
    浏览(34)
  • repo和git的常用命令

    repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。因此,使用repo工具之前,请先确保已经安装git。 repo是一个用于管理多个Git仓库

    2024年02月16日
    浏览(39)
  • Repo命令与git的关系

    Repo命令与git的关系是很密切的。 我们都知道,git是一个开源的版本控制系统,常用在大型项目的管理上。 我们对repo的使用和了解就比较少了。Repo是一个基于Git构建出来的工具,它的出现不是为了取代Git,而是为了更方便开发者使用Git这个工具。repo脚本的部分截图: 事实上

    2024年02月01日
    浏览(39)
  • repo工具是如何简化我们使用git的?

    《repo与git的关系》让我们知道如何在linux配置repo。repo是一个python写的脚本,脚本里依然用git命令来管理仓库,git命令是很多的,功能很强大。往往,功能越强大,就意味着越灵活,也就意味着学习它是需要花较多时间和精力的。另外一个事实是,每个开发都不会用完git所有

    2024年02月01日
    浏览(40)
  • win git filter-repo教程

    git filter-repo 是一个用于过滤和清理 Git 仓库历史的工具,它可以高效地批量修改提交历史中的文件内容、删除文件、重命名文件以及进行其他历史重构操作。相较于 git filter-branch ,它通常更快且更易于使用。 以下是一个基本示例,说明如何使用 git filter-repo 来删除仓库中特定

    2024年04月12日
    浏览(28)
  • 解决repo sync ( git )报错: git: ‘remote-https‘ is not a git command

    在Ubuntu 18.04上下载Android源码,遇到报错:git: ‘remote-https’ is not a git command。 使用apt命令升级git到最新版本,不能解决这个问题。 使用GitHub或者国内的git服务,用ssh方式的下载代码是可以的,HTTPS的方式会报同样的错误。 下载git源码,在本地编译: 看网上说需要有libcurl4-

    2024年02月09日
    浏览(51)
  • git仓库体积过大,如何减小?git仓库体积压缩,使用git-filter-repo删除历史大文件

    如果我们在使用的过程中不小心将较大的二进制文件加入到仓库中,那么随着我们提交次数的增多仓库的体积将会不断的膨胀,例如我在项目中每次都会编译出一些so库文件,但是我并没有忽略这些文件,每次都会提交,随着时间的推移仓库体积不断膨胀,将不能再推送到远

    2024年02月16日
    浏览(38)
  • 解决Error: git clone of oh-my-zsh repo failed

    目录 一前言   二解决办法 1-报错截图 2-解决步骤 2.1先查找可以访问github.com的ip地址 2.2其次就是将改ip地址加入我们的电脑中 三访问成功 问题描述:我在进行下载oh-my-zsh的时候,出现了以下错误:Failed to connect to github.com port 443 after 75174 ms: Couldn\\\'t connect to server以及以下 Err

    2024年01月22日
    浏览(49)
  • jenkins:> git init # timeout=10 ERROR: Error cloning remote repo ‘origin‘

    这是我在build now时遇到的报错,此时的这个节点是从节点,刚刚搭建完成主从节点去测试能否正常进行build。然后就遇到了这个报错 检查时节点项目配置是没有错误的。所以就是代码没有拉取成功,所以就想是不是从节点的主机上是没有安装git,导致无法拉取代码。 然后从节

    2024年02月09日
    浏览(58)
  • [toolschain] 怎么运用git 嵌套git 管理(子文件夹中也有个git) 并且如何简单设置使用repo的笔记 本文是求助GPT的记录 实践有用

    Q:一个文件夹a,a中的文件被a中的git 1管理,同时与a平级有一个git2,怎么让git 也能管理到git1 的内容 A:如果你想让一个 Git 仓库(git2)也能管理另一个 Git 仓库(git1)的内容,你可以使用 Git 的子模块(submodule)功能。子模块允许一个 Git 仓库包含另一个 Git 仓库,使得你可

    2024年02月04日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包