在 Python 代码中使用 Git 命令

2024-02-29

我被要求编写一个脚本,从 Git 中提取最新代码、进行构建并执行一些自动化单元测试。

我发现有两个内置的 Python 模块可以随时使用,用于与 Git 交互:GitPython and libgit2.

我应该使用什么方法/模块?


更简单的解决方案是使用 Pythonsubprocess调用 git 的模块。在您的情况下,这将提取最新的代码并构建:

import subprocess
subprocess.call(["git", "pull"])
subprocess.call(["make"])
subprocess.call(["make", "test"])

Docs:

  • 子进程 - Python 2.x https://docs.python.org/2/library/subprocess.html
  • 子进程 - Python 3.x https://docs.python.org/3/library/subprocess.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Python 代码中使用 Git 命令 的相关文章

随机推荐

  • 获取 R 中帮助文档的(网络)URL?

    在 RStudio 中使用类似内容打开帮助文档时 function 我们如何 轻松 获得这些帮助文档的网页版 目前 我正在寻找一个独特的句子 并用引号搜索它 例如 要查找网络版本 function 我用谷歌搜索了 These functio
  • java中的batchGetItem API错误

    我正在查询的实体有一个HashKey ARangeKey 数字 当我使用batchGetItem就它而言 我收到以下错误 AWS 错误代码 ValidationException AWS 错误消息 一个或多个参数值无效 位置和架构之间的属性
  • React.js 实现菜单[突出显示活动链接]

    以下 React js 代码呈现一个导航栏 其中包含两个名为 about 和 project 的链接 页面加载时 关于 链接处于活动状态并呈红色 单击另一个链接时 导航栏的状态将设置为 项目 关于 链接样式将被设置回来 并且 项目 将显示为
  • 使用 :after 在元素后添加空格 (" ")

    我想在一些内容后面添加一个空格 但是content 似乎不起作用 这是我的代码 h2 after content 这不起作用 但是这确实有效 h2 after content 我究竟做错了什么 事实证明它需要通过转义的 unicode 来指
  • AJAX响应需要转换为blob

    我已经编写了ajax代码来设置请 求标头url并将其转换为 blob 并传递给函数showFile blob The blob然后以 pdf 格式处理并下载 这blob代码中获得的值如下undefined 有人可以帮我解决这个问题吗 var
  • 如何打印文件中的特定行

    我正在尝试打印文件 Scores 中的特定行 即选项 B 这是我的代码 print Option A Show all scores nOption B Show a record nOption Q Quit decision input
  • AWS Lambda 和 RDS 之间间歇性超时

    我们目前正在经历我只能描述为随机间歇AWS Lambda 和 RDS 之间的超时 部署我们的函数并成功运行它们后 它们可以随机切换到超时状态无需更改配置 值得注意的是 我们还在监视数据库连接 并可以确认我们没有遇到最大连接问题 以下是我们设
  • 表单右上角带有X的按钮,如何捕获此事件@C#

    当我使用 X 按钮关闭表单时会触发哪个事件 我想要仅在按下 X 按钮时触发的事件 我知道有一个 FormClosing 事件 但问题是每次关闭表单时都会触发它 当frm close 执行 我不希望这种情况发生 您可以检查 FormClosi
  • Angularjs 使用电子邮件类型重置表单字段

    在 AngularJs 中 似乎当您尝试通过将所有模型设置为空对象来 重置 表单时 如果输入是type email 这并没有得到清除 将其更改为type text 但是可以工作 但是您会在验证时丢失红色边框 是否有办法重置或清除电子邮件类型
  • 按元素长度对字符串数组进行排序

    拥有一个字符串数组 如何更新它 以便其元素按其长度排序 我正在尝试 string arr aa ss a abc arr arr OrderBy aux gt aux Length 所以 我会得到a aa ss abc 但它说 无法隐式转换
  • JVM JIT 诊断工具和优化技巧

    我听说过很多关于 JVM JIT 的内容can这样做 但没有看到很多关于如何分析 JIT 在程序的给定运行中实际执行的操作的信息 有很多使用技巧 XX PrintCompilation and XX PrintOptoAssembly但它会
  • 如何使用 Python Selenium Webdriver 在 Chrome 中加载默认配置文件?

    我想使用 Python 的 webdriver 启动 Chrome 及其默认配置文件 以便 cookie 和站点首选项在会话中保持不变 我怎样才能做到这一点 这就是它最终为我工作的原因 from selenium import webdri
  • 忘记旧的 WiFi Direct 连接

    有没有办法忘记旧的 WiFi Direct 连接 在代码中 我需要这个来更改谁成为群组所有者 我设置 groupOwnerIntent 15 但尚未成为组所有者 如果您只想断开与现有的连接WiFiP2p连接 然后只需调用WiFiP2pMan
  • 将大量数据加载到数组中的最快方法

    我在 stackexchange 中广泛搜索了一个将巨大 2GB dat 文件加载到 numpy 数组中的简洁解决方案 但没有找到合适的解决方案 到目前为止 我设法以非常快的方式 list f open myhugefile0 for li
  • C++ 在张量流中使用 Eigen

    张量流和特征值之间有什么关系 特别是关于tensor数据结构 有一些较旧的引文 例如 其中指出tensorflow正在广泛使用Eigen 据我所知 tensorflow人员已经扩展了Eigen代码 然而 最近的张量流文档似乎没有明确提及 E
  • SQL 2008 中的内存不足异常

    关于SQL Server 2008中Out of Memory异常 当我执行向表中插入数千行的大型查询时 执行此操作时发生的异常是 System OutOfMemoryException 根据一篇非常好的微软知识库文章 链接在这里 http
  • 如何获取 MongoDB 中的所有文档 ID?

    如何获取 MongoDB 中所有文档 ID 的数组 我只需要一组 id 但不需要文档内容 您可以通过调用在 Mongo shell 中执行此操作map http docs mongodb org manual reference metho
  • 为 MVC 应用程序添加尾部斜杠

    我正在构建一个基于 MVC 设计模式的应用程序 我希望我的 URL 如下 http example com page action http example com page action 我成功地让它与下面的代码一起工作 但如果 URL
  • 如果我要将文件内容读入数组,是否需要初始化数组?

    我正在初始化buf在立即用以下内容重写其内容之前不必要地全为零read exact fn parse
  • 在 Python 代码中使用 Git 命令

    我被要求编写一个脚本 从 Git 中提取最新代码 进行构建并执行一些自动化单元测试 我发现有两个内置的 Python 模块可以随时使用 用于与 Git 交互 GitPython and libgit2 我应该使用什么方法 模块 更简单的解决