如何在服务器上设置 git 存储库,并允许多个用户进行 git 拉取,而不是由一个用户拥有?

How can you set up a git repository on a server, and allow multiple users to do a git pull, instead of it being owned by one user?

作为一个开发团队,我们在本地构建项目(使用 git)并将代码推送到特定于该项目的私有存储库。对于 Web 应用程序,我们通过 SSH 连接到生产服务器并拉入代码。我们的问题是当需要将更新拉到服务器时,只有一个人有权执行 git 拉取。

当一个项目添加到服务器时,我们通常会运行下面的命令:

git clone https://username@bitbucket.org/team-name/test-repository.git

然后,当您想对该存储库执行 git pull 操作时,系统会提示您输入密码:

Password for 'username@bitbucket.org':

但是,如果其他用户尝试执行 git pull,他们也将被要求提供原始用户密码。 我们想做的是授权我们的团队,或者至少是某种其他类型的授权,让我们都可以做 git pull 而无需要求其他人登录并为彼此做这件事。

我试过在没有用户名的情况下克隆 git 存储库:

git clone bitbucket.org:team-name/test-repository.git .

但不是那样工作,而是得到了这个结果:

Cloning into '.'...
Warning: Permanently added the RSA host key for IP address '0.0.0.0' to the 
list of known hosts.
Permission denied (publickey).
fatal: The remote end hung up unexpectedly   

我们还找到了另一种方法。如果我要登录做一个git pull,你可以使用这个命令:

git remote set-url origin https://username@bitbucket.org/team-name/test-repository.git

这将允许您将存储库指向您的最新提交,并使用您自己的密码从那里进行 git 拉取,但我仍然认为必须有更好的方法。

一定有一些方法可以让您简单地登录并使用:

git pull
Password for 'username@bitbucket.org':

即使其他人首先克隆了存储库?

尝试在 url 上不指定用户名进行克隆...当然,不同的用户将不得不设置他们的证书,这样奇迹就会发生 https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html