问题标签 [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 回答
675 浏览

git - gitpython 的 diff 和 git log 的 diff 有什么区别?

我不明白 diff 的输出git log -pgitpythondiff 的输出之间的区别。

例如,对于某些合并提交f534e1...git log -p给出:

没有diff,我认为这是正确的( diff 带有下一个日志条目 - 的父母之一f534e1...)。

我想用gitpython. 我正在努力:

我得到:

一些差异

这是什么区别?为什么我会在这里得到它?我怎样才能模仿 的行为git log -p

0 投票
0 回答
203 浏览

python - 任何 git 钩子来阻止合并冲突?

我打算在 python 中编写一个 git hook 来保护我的 github 存储库。它将检测合并冲突标记(如>>>>>>)并阻止提交。

我有一些初步的想法,但如果我得到类似的钩子样本会非常有帮助。经验丰富的人对实施的建议也将不胜感激。

0 投票
1 回答
649 浏览

python - 如何使用 gitPython 将密码“管道”到 remote.update()

我正在尝试编写一个脚本(可能是 python),该脚本需要获取远程仓库(通过 git 与 Stash 一起存放),并签出特定的提交(基于哈希)。问题是这需要对用户“盲目地”发生,但它会暂停输入密码。我需要想办法将(或proc.communicate()(或)某些东西)密码传送到repo.fetch()or origin.update()proc。

目前,我有这样的代码:

但如果我尝试了回声/管道,它似乎不起作用,但跟着repo.git.fetch()proc.communicate(pw)我得到错误:

最后,我还尝试添加:

但无济于事,正如您从错误中看到的那样。

我认为我过于复杂了,因为似乎 gitpython 可能有一个很好的方法来发送密码到o.update()repo.git.fetch()不使用subprocess

编辑:我希望在这些方面编写一些代码:

这比其他任何东西都更像伪代码,但它可能会帮助您了解我的期望。另外,我想强制通过任何“打嗝”我不想要分离的头部警告或任何东西,我想在指定的提交处用远程完全替换本地工作副本。

0 投票
2 回答
2710 浏览

python - gitpython ssh 密码

我正在尝试将 gitpython 与 IDE 集成,但我在推送时遇到了一些问题。

当我运行这个命令时,或者只是

git push --porcelain 起源大师

提示询问我的 ssh 密码。

我的问题是:

  • 提示可能会询问或不询问此密码
  • 如果需要密码,我需要一个跨平台的解决方案

我该如何解决它并提供一个界面来识别是否需要密码,如果需要,是否能够提供?

0 投票
1 回答
300 浏览

git - 如何使用 GitPython 获取 ref ID 的唯一部分?

GitPython 允许我处理 Git 工作副本。我想用它。但是我将如何使用 GitPython 获取唯一部分,即“缩写参考 ID”?

所以我对给我的--abbrev-commit选项感兴趣git log(例如在git log --abbrev-commit --pretty=oneline -n 1)。

我怎样才能在 GitPython 中得到它 - 或者我必须通过枚举 ref ID 并自己找出所需的长度来实现它?

0 投票
2 回答
2349 浏览

ssl - 使用 GitPython 库进行 git 克隆

如何使用 GitPython 库在禁用 SSL 检查的情况下进行克隆。以下代码...

...产生此错误:

我知道“export GIT_SSL_NO_VERIFY=1”,但是如何在 python 库中实现它?

0 投票
1 回答
1735 浏览

python - GitPython pipe output to stdout

Doing some very simple scripting in python. I'm cloning the repository to the server with the following statement in a python script:

How can I get the progress from the clone_from and pipe it to stdout?

0 投票
2 回答
169 浏览

python - GitPython 等效命令

我需要一个 GitPython 等效命令或 this 的命令git clone -b <branch_name> --recursive <url>。我希望子进程调用不是这样做的唯一方法。如果有人有想法,请告诉我。

0 投票
2 回答
2569 浏览

python - 通过将git命令传递给python中的子进程来获取最后的git提交日期

我有一个脚本,我只需要以2015-07-28最后一次 git 提交的格式检索日期。

但是git log -1 --pretty=format:"%ci"如果我想在终端中使用,Tue Jul 28 16:23:24 2015 +0530那么如果我想

将此作为字符串传递给subprocess.Popen喜欢

subprocess.Popen('git log -1 --pretty=format:"%cd"' shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE))

但这会给我带来错误TypeError: %c requires int or char,我猜我们正在将 char 传递给 %c 的 python 东西,而那是为了使用 git 命令获取日期。

我需要将此日期连接到我的 python 脚本中的字符串。

0 投票
1 回答
1220 浏览

python - GitPython克隆存储库错误

我想使用参数(--recursive-b <branch>)克隆 git 存储库,但出现以下错误。

这是我的代码:

如果我git.Repo.clonegit.Repo.clone_from它的工作正常替换,但这个命令不接受我的参数。