我尝试使用python连接和执行GIT命令,如pull、check status、add和commit新文件等
但我似乎对GIT可执行文件有一个问题。我遵循了教程中的代码来编写T,除非像PyCharm那样为我设置环境。在
我收到以下错误:
“
提高重要性(err)
ImportError:错误的git可执行文件。
git可执行文件必须以下列方式之一指定:
-包含在您的$PATH中
-通过$GIT_PYTHON_GIT_EXECUTABLE设置
-通过显式设置git.刷新()
在纠正之前,所有git命令都将出错。
通过设置$GIT_PYTHON_REFRESH环境变量,此初始警告在将来可以被静音或加重。
使用以下值之一:
-安静| q |沉默| s |无| n | 0:无警告或例外
-warn | w | warning | 1:对于打印的警告
-错误| e | raise | r | 2:对于引发的异常
示例:
export GIT_PYTHON_REFRESH=安静
“
我已经将我的环境变量“Path”设置为Git\bin Path,这是另一个用户在这里提出类似问题时通知的,但是没有效果。在
非常感谢任何帮助!在import os
from git import Repo
COMMITS_TO_PRINT = 5
def print_commit(commit):
print('----')
print(str(commit.hexsha))
print("\"{}\" by {} ({})".format(commit.summary,
commit.author.name,
commit.author.email))
print(str(commit.authored_datetime))
print(str("count: {} and size: {}".format(commit.count(),
commit.size)))
def print_repository(repo):
print('Repo description: {}'.format(repo.description))
print('Repo active branch is {}'.format(repo.active_branch))
for remote in repo.remotes:
print('Remote named "{}" with URL "{}"'.format(remote, remote.url))
print('Last commit for repo is {}.'.format(str(repo.head.commit.hexsha)))
if __name__ == "__main__":
repo_path = os.getenv('GIT_REPO_PATH')
# Repo object used to programmatically interact with Git repositories
repo = Repo(repo_path)
# check that the repository loaded correctly
if not repo.bare:
print('Repo at {} successfully loaded.'.format(repo_path))
print_repository(repo)
# create list of commits then print some of them to stdout
commits = list(repo.iter_commits('master'))[:COMMITS_TO_PRINT]
for commit in commits:
print_commit(commit)
pass
else:
print('Could not load repository at {} :('.format(repo_path))