使用多个用户在Shell脚本中获取Git

时间:2018-06-18 15:35:58

标签: linux git

我正在尝试在linux中编写一个shell脚本,它从最新提交中提交的git存储库中提取所有文件。我这样做的方法是运行一个git fetch来获取最新的提交inof,然后git show来捕获文件名,然后我单独拉出特定的文件。该脚本需要由多个用户运行,所有用户都可以访问git repo。我设置了要求输入用户名和密码,然后运行:

git fetch“https://USER:PASSWORD@GIT_URL

这可行,但始终没有得到最新的提交。我发现git fetch(没有参数)正在工作,发现这个Q / A解释了差异:git fetch vs. git fetch origin master have different effects on tracking branch

所以,我改变了脚本,所以它只是调用git fetch,用户在提示时输入他/她的密码(它要求,密码为“https://USER@GIT_URL”:)。现在的问题是其他用户被要求输入我的密码。我以为USER会从系统登录中获取。有没有人知道我如何才能获得最新提交中更改的文件而不会遇到这些问题?谢谢。

1 个答案:

答案 0 :(得分:0)

在共享服务器上的脚本中使用Git URL时,建议使用SSH URL而不是HTTPS URL。您需要做的就是创建SSH密钥并将公钥添加到Git存储库中。这将允许使用SSH URL访问git存储库。

如果您不介意共享密码,另一种方法是使用以下配置在远程服务器上添加〜/ .netrc文件。不建议这样做。

machine https://gir.url
login xxx
password xxx