有没有办法使用git username-password通过python克隆(或下载)私有远程存储库?

时间:2019-07-03 13:58:22

标签: python git authentication gitpython

我正在寻找一种通过python在本地克隆远程git仓库的方法。 Git,即不特定于版本控制提供程序。理想情况下,我希望使用凭据与远程仓库(提供者)建立连接,然后进行克隆(模拟通过bash会发生的事情)或只是下载仓库。这需要通过python-script来实现。凭证将作为控制台执行时的编码参数提供给脚本。 到目前为止,我尝试过的所有操作似乎都有一个无法完全解决问题的怪癖。

  • 这篇文章似乎解决了克隆公共仓库(GitPython)的问题:https://stackoverflow.com/a/2472616/6599916
    搜索堆栈和GitPython文档,尽管如此,我还没有找到一种通过GitPython库设置身份验证凭据的方法。如果有人实施了此功能,将不胜感激。

  • 此外,在过去,我已经通过用户提示实现了该版本,但仅适用于GitHub,方法是使用请求进行身份验证,然后下载远程仓库的zip文件。我仍然可以使用它,仅用于github。

    remoteReply = requests.get(remURL, timeout=20, auth=credentials)
    
  • 我也尝试过:https://github.community/t5/How-to-use-Git-and-GitHub/Clone-private-repo/td-p/12616
    仍然仅适用于github。我曾尝试过gitlab实现,但是当用户密码包含@之类的特殊字符时,这会产生错误。有办法解决这个问题吗?

最后,如果存在通过用户名和密码进行身份验证的方法,则通过版本控制提供程序的API实施将是可行的。有关我的问题的所有信息都围绕使用sha或令牌而出现,这不是我的解决方案。

0 个答案:

没有答案