问题标签 [gitpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
38197 浏览

python - 如何使用 GitPython 拉取远程存储库?

我正在尝试找到使用 gitPython 提取 git 存储库的方法。到目前为止,这是我从此处的官方文档中获取的内容。

事实是我想访问 repo.remotes.origin 来做一个 pull withouth 重命名它的起源 (origin.rename) 我怎么能做到这一点?谢谢。

0 投票
1 回答
1208 浏览

python - gitpython 创建 zip 存档

如何使用 gitpython 创建存档,我尝试了以下创建文件但无法打开它的方法,它告诉我读取存档时出错,存档似乎无效或损坏

我想创建一个 zip 文件,所以我尝试了这个,但在这里它创建了一个空的 zip 文件(repo 的路径是正确的,因为当我使用 repo.clone 时,它​​会克隆所有内容)

0 投票
3 回答
3149 浏览

python - 检查 repo 是否脏时出现 gitpython 错误

我在尝试使用gitpython检查存储库是否脏时收到错误,即未提交更改为跟踪文件:

错误:

怎么来的?可能是什么问题呢?
注意我正在使用msysgit在 Windows 7 上工作

0 投票
1 回答
2400 浏览

python - 使用 gitpython 编辑提交

假设您在终端中,当前位于 git repo 的根目录中。

如果你已经安装了GitPython,你可以这样做来获取最后提交的提交,或者更确切地说,是 HEAD 指向的提交:

但是如果你退出 python 并进入git log这里,你会看到提交消息保持不变。如何使用此库编辑提交?

0 投票
4 回答
2261 浏览

python - 如何使用 GitPython 指定 Commit 的 commit_date?

我想提交一个带有自定义日期的文件。

到目前为止,我已经创建了一个 Commit 对象,但我不明白如何将它绑定到一个 repo。

谢谢!

0 投票
2 回答
3828 浏览

python - 如何使用 GitPython 获取未发布提交的计数?

通过git status我可以获得有关未发布提交计数的信息:

我想用 GitPython 获得未发布的提交(或计数)。我找到了我的文档repo.git.status(),但这不是我想要的。

0 投票
1 回答
923 浏览

python - GitPython:确定在特定提交中删除的文件

使用 gitpython,我正在尝试获取已更改路径的列表;也就是说,所有添加、更改和删除的文件。

我可以从提交中检索更改和添加的文件:

  • 结帐提交'X'
  • 遍历 repo.tree() 并收集所有 blob 的 abspath

如果文件在特定提交中被删除,它将不再显示在树中。如何获取所有已删除文件的名称?

0 投票
1 回答
1058 浏览

python - GitPython 是否适用于 Python 3.x?

如果“是”,那么与 Python 2 一起使用时有什么区别。?

我找到了这个,但我会说答案对我来说并不清楚。

谢谢。

0 投票
3 回答
5037 浏览

python - 使用 GitPython 查找分支上的第一个提交

我正在使用 Python 和 Git-Python 编写一个 git post-receive 挂钩,它收集有关推送中包含的提交的信息,然后使用摘要更新我们的错误跟踪器和 IM。fromrev在推送创建分支(即post-receive 的参数全为零)并且还跨越该分支上的多个提交的情况下,我遇到了麻烦。我正在从torev提交中向后遍历父母列表,但我不知道如何判断哪个提交是分支中的第一个提交,即何时停止查找。

在命令行我可以做

这将给我准确的提交列表this-branch,而不是其他的。我尝试使用Commit.iter_parents记录在案的方法来复制它,该方法采用与 git-rev-list 相同的参数,但据我所知,它不喜欢位置参数,而且我找不到一组关键字参数那项工作。

我阅读了 Dulwich 的文档,但不清楚它是否会与 Git-Python 做任何不同的事情。

我的(简化的)代码如下所示。当推送启动一个新分支时,它目前只查看第一个提交然后停止:

0 投票
7 回答
33812 浏览

git - gitpython 和 git diff

我希望仅从 git repo 更改文件的差异。现在,我正在使用 gitpython 来实际获取提交对象和 git 更改的文件,但我只想对文件更改的部分进行依赖分析。有没有办法从 git python 获取 git diff?还是我必须逐行阅读来比较每个文件?