对于gitlab,如果我得到client_id和client_secret,我如何克隆存储库,就像无人机一样。有API之类的东西吗?
>用于克隆,因为git clone
native命令是用于克隆的。
你可以尝试克隆:
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)将显示警告:
URL '%s' uses plaintext credentials
最好缓存这些凭据:
git config --global credential.helper
xxx <= note that value
printf "host=gitlab.comnprotocol=httpsnusername=client_dnpassword=client_secret" |
git credential-xxx store
(将xxx
、client_id
、client_secret
替换为实际值)
和
git clone https://client_id@ANY_GIT_PROVIDER_DOMAIN/YOUR_PROJECT/YOUR_REPO.git
URL中没有token/secret。