gpt4 book ai didi

linux - 具有多个用户的 Shell 脚本中的 Git fetch

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:24 26 4
gpt4 key购买 nike

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

git 获取“https://USER:PASSWORD@GIT_URL

这会起作用,但并不总是得到最新的提交。我发现 git fetch(无参数)正在工作,并发现此 Q/A 解释了差异:git fetch vs. git fetch origin master have different effects on tracking branch

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

最佳答案

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

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

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

关于linux - 具有多个用户的 Shell 脚本中的 Git fetch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50912969/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com