对于gitlab来说,如果我得到了client_id和client_secret,我如何克隆存储库,就像无人机所做的那样。有API什么的吗?
发布于 2022-07-03 06:53:50
不是用于克隆的"GitLab API“,因为git clone本机命令就是用于克隆的。
然后,您可以尝试使用以下方法进行克隆:
git clone https://oauth2:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git(假设client_secret是令牌)
或者:
git clone https://client_id:TOKEN@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git(用实际值替换client_id )
然而,这被认为是错误的实践,和Git 2.37 (Q3 2022) will display the warning
URL '%s' uses plaintext credentials最好缓存这些凭据:
git config --global credential.helper
xxx <= note that value
printf "host=gitlab.com\nprotocol=https\nusername=client_d\npassword=client_secret" | \
git credential-xxx store(用实际值替换xxx、client_id和client_secret )
然后
git clone https://client_id@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.gitURL中不再有令牌/秘密。
https://stackoverflow.com/questions/72360981
复制相似问题