Python git模块git存储库无效

2024-10-03 09:08:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个放在文件夹结构中的脚本如下:

~/wofc/folder1/folder2/script.py

script.py使用git模块执行一些任务。但是,当我从folder2外部运行脚本时,即当我将cd放入folder1时,我运行python folder2/script.py arg1 arg2我得到了raise InvalidGitRepositoryError(epath)错误。当我从folder2cd运行到folder2并运行python script.py arg1 arg2时,该脚本运行良好。下面是相关的代码片段。你能告诉我是什么问题吗?在

    git = Repo('{}/..'.format(os.getcwd())).git
    git.checkout('master')
    git.pull()

Tags: 模块pygit脚本文件夹scriptcd结构
3条回答

使用Repo('{}/..'.format(os.getcwd())).git,而不是Repo('{}/..'.format(os.getcwd())).git

git = Repo(os.path.abspath('{}/..'.format(os.getcwd())).git
git.checkout('master')
git.pull()

要运行git commands,当前文件夹应该是git repo。在

.gitrepo应该存在以执行git命令。在

这就是出错的原因。在

问题是使用os.getcwd()返回当前工作目录。如果您站在folder2之外,此函数将返回~/wofc/folder1。在

你应该把它换成:

import os
os.path.dirname(os.path.abspath(__file__))

例如:

^{pr2}$

相关问题 更多 >