我希望能够克隆在Gitlab社区版上托管的私有git存储库,提供我的私有令牌。 我尝试使用gitpython库,我可以执行以下操作:
from os.path import abspath
from git import Repo
to_path = abspath("C:\mypath\test")
Repo.clone_from("http://gitlab-ci-token:my_CI_token@myurl/testgroup/test.git", to_path)
这很有效,克隆了回购。 问题是我想使用我的私有令牌而不是存储库的CI令牌。这不起作用:
Repo.clone_from("http://my_login:my_private_token@myurl/testgroup/test.git", to_path)
我甚至试图使用我的密码,但也无法使用它。
如果我想使用我的私人令牌,那是因为我的脚本试图克隆存储在Gitalb组(此处为testgroup)中的所有存储库,而我不知道预先存储库将会存在,因此我无法获取其CI脚本中的令牌。
我将采用任何解决方案,让我使用Login / private_token或登录/密码克隆存储库而无需交互式身份验证。
答案 0 :(得分:0)
我不确定你的意思:
我甚至试图使用我的密码,但也无法使用它。
在网址中设置用户名和密码应该有效:
Repo.clone_from("https://myself%40example.net:password@gitlab.example.com/username/repo.git", to_path)
此外,您应该考虑使用SSH或使用credential helper系统克隆您的存储库,而不是将密码存储在源代码中。