我需要使用 GitPython 获取上次提交中更改的文件的路径。我设法这样做:
import os
from git import Repo
repo = Repo(os.path.dirname(sys.argv[0]))
commit = list(repo.iter_commits(max_count=1))[0]
files = commit.stats.files
for filepath in files:
print(filepath)
Run Code Online (Sandbox Code Playgroud)
但现在我想过滤掉那些被删除或重命名的文件,我有点坚持下去。我将不胜感激任何帮助,也许有人有这样的经历。
我正在尝试抓住gitpython模块,
hcommit = repo.head.commit
tdiff = hcommit.diff('HEAD~1')
Run Code Online (Sandbox Code Playgroud)
但tdiff = hcommit.diff('HEAD^ HEAD')不起作用!! 也没有('HEAD~ HEAD').,
我想获得差异输出!
我试过了
g = git.Repo(r'C:\Users\Administrator\Desktop\testRepo')
print g.untracked_files
Run Code Online (Sandbox Code Playgroud)
但得到了:
git.exc.GitCommandNotFound:[错误2]
这是一个错误吗?
给定一个 GitPython Commit 对象,如何获取与此提交相关的标签?
我喜欢有这样的东西:
next(repo.iter_commits()).tags
Run Code Online (Sandbox Code Playgroud) 伙计们,我一直无法找到如何列出组织使用的所有git存储库的文档gitpython.
我想获取我们在bitbucket/github中拥有的所有当前存储库的列表,但未能在文档中找到它.我发现了pygithub3的例子,但没有gitpython.由于我也需要访问bitbucket repos,pygithub3不适用于我的情况.
我找不到一种方法来执行相当于:
git push origin :branchName
删除远程分支的命令,gitpython 可以使用 git push 执行此操作吗?
谢谢
如何使用 python 检查 git repo 中是否存在未暂存/未提交的更改或未推送的提交?
我只知道命令行
git status会告诉
如果我为函数提供一个根路径,例如(“C:/ ProgramFiles”),如果代码可以给出一个列表,其中每个元素都是
(path of this repos found under the root path, Unstaged/uncommited changes, Untracked files: , Latest commit is pushed)
在这里,我正在寻找一些代码,通过它我可以维护我的git存储库.
我是python初学者级别但我知道.我在git hub上的存储库是.
https://github.com/gtrdotmcs/NewDjango/
Run Code Online (Sandbox Code Playgroud)
我真的想使用python代码克隆,拉取,提交和推送我的存储库.
对初学者来说不容易,但我真的很想做.来到我附近为github带来了一些python库.
PyGithub
和GitPython
我还想知道哪个更好?
我正在尝试在 python 中开发一个rollin.py具有以下要求的 Gatekeeping 脚本:
假设用户将从rollin.py他本地 git 克隆区域内的任何地方启动脚本以将他的提交推送到主存储库
现在,rollin.py脚本将
现在在rolloin.py脚本中,我将如何检查存储库名称和用户的 git clone 路径?(因为用户可以rolloin.py从他当地的任何地方启动脚本)
是否有任何现有的功能或方法可用?否则,我正在考虑实现反向递归搜索cwd以定位 .git,然后从它的配置文件中找到 url。