git - 如何在服务器上设置 git 存储库,并允许多个用户执行 git pull,而不是由一个用户拥有?
问题描述
作为一个开发团队,我们在本地(使用 git)构建我们的项目,并将代码推送到特定于该项目的私有存储库。对于 Web 应用程序,我们通过 SSH 连接到生产服务器并将代码拉入。我们的问题是,当需要将更新拉入服务器时,只有一个人有权执行 git pull。
将项目添加到服务器时,我们通常会运行以下命令:
git clone https://username@bitbucket.org/team-name/test-repository.git
然后,当您想 git pull
对该存储库执行操作时,系统会提示您输入密码:
Password for 'username@bitbucket.org':
但是,如果其他用户尝试执行git pull
,他们也会被要求输入原始用户密码。我们想做的是授权我们的团队,或者至少是某种其他类型的授权,我们都可以这样做,git pull
而不必要求其他人登录并为彼此做这件事。
我试过克隆一个没有用户名的 git repo:
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 pull,但我仍然认为必须有更好的方法。
必须有某种方式可以让您简单地登录和使用:
git pull
Password for 'username@bitbucket.org':
即使其他人首先克隆了存储库?
解决方案
尝试在不指定 url 上的用户名的情况下进行克隆......当然,不同的用户必须设置他们的证书,这样才能发生魔法https://confluence.atlassian.com/bitbucket/set-up-an-ssh -key-728138079.html
推荐阅读
- python - 如何生成包文档
- javascript - 将 Jquery 值传递给 thymeleaf
- c++ - 第三方库怎么能做标准库做不到的事情呢?
- npm - 通过npm在本地注册命令cli
- entity-framework-core - EF Core 5:必须是可简化节点
- azure - Azure DevOps Starter Wizard 中缺少资源组字段
- php - php 7.4 mongodb dll 文件(1.9.0) 与 windows 10 系统上的 php 8 不兼容
- angular11 - 使用 HttpClient 的 Angular 11 中的 Cors 问题
- javascript - 如何在 react 中使用 formik 创建动态下拉列表?
- php - 创建排行榜