问题标签 [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 投票
1 回答
105 浏览

python - 使用 gitpython 和 py2exe 时禁用 cmd 窗口的弹出?

在 Windows 上通过 py2exe 使用 gitpython 时,gitpython 调用的每个操作都会导致一个 cmd 弹出窗口。似乎是 gitpython 在内部使用子进程。有没有办法在 gitpython 中指定以下等效项?

0 投票
0 回答
3550 浏览

python - gitpython 中的身份验证

我正在尝试编写一个相当简单的函数(我想)。

我希望用户在他的计算机上指定一个已签出的 git repo 的路径。(需要身份验证的 git 存储库)。

然后我想对该文件夹进行 git pull 以获取任何更改。

我的代码如下所示:

这在我的 Linux 机器上完美运行,它从不要求任何凭据(我猜是因为 ssh-agent 已经解锁了密钥并在我的脚本需要时提供凭据)。

然而,在 Windows 上,我无法让它工作。我已经安装了腻子并添加了选美的关键。例如,我可以使用 TortoiseGit 查看 repo,它工作得很好,但是如果我在 Windows 机器上执行上面的代码,我会得到:

编辑:我想补充一点,我没有嫁给 GitPython。如果有人知道另一个可以解决我的问题的库,那也可以。

0 投票
2 回答
1595 浏览

python - gitpython 相当于 git-apply

有没有办法仅使用 gitpython 库将补丁(以 diff 文件的形式)应用于 repo?

换句话说,是否有 gitpython 等效的 git-apply 命令?

0 投票
1 回答
296 浏览

python - 如何从 gitpython 的存储库路径中获取变量中的 Ostream 或 Oinfo 列表?

我目前有一个没有包文件的有效 git 数据库,但由于git-pack-objects(进程因堆栈转储文件而崩溃)中的错误,我无法执行该git repack命令。

我查看了该错误,它与官方 git 项目的 C 特性有关(修复需要更改核心struct定义),因此,这将需要大量时间来修复。

我发现的唯一不使用 C 的替代方法是 gitdb (part of gitpython)。但是我无法找到如何使用该write_pack()功能。
或者更确切地说,我不知道如何object_iter从松散对象的数据库路径构建参数。
我什至不知道object_iter列表中使用的确切类类型。

那么,如何为此目的使用 gitdb 呢?

0 投票
1 回答
311 浏览

github - 如何使用 gitpython 包在 github.com 中创建存储库

我试图用我的 python 程序在 github 中创建一个存储库。我在网络搜索中找到了 gitpython 包。我可以拉存储库,但无法在 github 中创建存储库。请帮我。

0 投票
0 回答
84 浏览

python - 保存 gitpython 调用的标准输出?

我想保存对我的r对象的任何操作的标准输出,包括任何.reset.pull调用 - 我该怎么做呢?

0 投票
2 回答
23679 浏览

python - 使用 gitpython 获取更改的文件

我想获取当前 git-repo 的更改文件列表。Changes not staged for commit:调用时通常在下面列出的文件git status

到目前为止,我已成功连接到存储库,将其拉出并显示所有未跟踪的文件:

但现在我想显示所有有更改(未提交)的文件。任何人都可以将我推向正确的方向吗?我查看了方法的名称repo并试验了一段时间,但我找不到正确的解决方案。

显然我可以调用repo.git.status和解析文件,但这一点也不优雅。一定有更好的东西。


编辑:现在我想起来了。更有用的是一个函数,它告诉我单个文件的状态。喜欢:

0 投票
2 回答
2192 浏览

python - GitPython是否可以在不签出的情况下从指定的提交中获取文件

我想用 GitPython 从指定的提交中复制文件。现在我到这里为止:

有用。但checkout更改HEAD和更改文件。是否可以在没有 的情况下从指定的提交中复制文件或读取文件checkout

0 投票
1 回答
2240 浏览

python - 获取 GitPython 中第一次提交的 diff 详细信息

diff()在 GitPython 中,我可以通过调用不同提交对象之间的方法来分别迭代树中每个更改的差异信息。如果我diff()使用create_patch=True关键字参数调用,则会为我可以通过创建的diff对象访问的每个更改(添加、删除、重命名)创建一个补丁字符串,并剖析更改。

但是,我没有父母可以与第一次提交进行比较。

您可以使用该方法

但这git diff会使用给定的参数调用整个树,返回一个字符串,我无法分别获取每个文件的信息。

也许,有一种方法可以创建某种root对象。如何获得存储库中的第一个更改?

编辑

一个肮脏的解决方法似乎是直接使用它的 hash与空树进行比较:

但这似乎不是一个真正的解决方案。仍然欢迎其他答案。

0 投票
1 回答
336 浏览

gitpython - GitPython中的git for-each-ref等价物?

我想使用 GitPython API 迭代所有引用,就像 git for-each-ref 一样。我怎样才能做到这一点 ?