gpt4 book ai didi

python - 使用 GitPython + SSH key 进行 Git pull 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:40 25 4
gpt4 key购买 nike

我正在尝试使用 GitPython 从我的 Github 帐户中提取存储库。这是之后

(1) 我已经从命令行执行了 git 克隆。

(2) 使用

生成新的 SSH key
ssh-keygen -t rsa -b 4096

(3) 在 Github 中将上面 #2 中的 .pub 文件的内容设置为新的 SSH key 。

系统仍然提示我输入我的 Github 用户名和密码。这是为什么?

这是我的 .git 文件夹中的配置。请注意网址中的 http://而不是 https://

[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = http://github.com/githubuser/myrepo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master

这是我的代码片段

import git, os

DIR_NAME = 'path/to/dir/with/gitfolder'
git_ssh_identity_file = os.path.expanduser('/path/to/rsa/key')
git_ssh_cmd = 'ssh -i %s' % git_ssh_identity_file

with git.Git().custom_environment(GIT_SSH_COMMAND=git_ssh_cmd):

repo = git.Repo.init(DIR_NAME)
origin = repo.remote()
refs = origin.refs

for ref in refs:
if ref.remote_head == "master":
origin.pull(ref.remote_head)

最佳答案

Note the http:// in the url instead of https://4

只要您使用 http(s) url,ssh 就根本不会参与身份验证。

您需要一个 ssh 网址:

git@github.com:USERNAME/OTHERREPOSITORY.git

http url 仍然依赖于用户名/密码身份验证方案。
只有 ssh 网址才会使用您的公钥/私钥。

关于python - 使用 GitPython + SSH key 进行 Git pull 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43959972/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com