更改git设置以允许多个用户推送/提交文件

时间:2013-04-05 12:58:02

标签: git github beagleboard

我有一个beaglebone,我设置了一段时间(当我第一次学习git时)用一个特定github帐户的ssh密钥。该帐户是我们公司的主要帐户。许多人直接在beaglebone上工作,并直接从github推送到github。我想更改设置,以便每当有人想提交或推送到github时,都会查询他们的用户名。

我最近的提交和推送看起来像这样......你会看到我无法输入用户名,只输入我们公司主要帐户的密码。

root@beaglebone:/var/lib/cloud9/pypos# git commit -a -m "class restructured and passing the new updated test script"
[class_restructure 1db2e33] class restructured and passing the new updated test script
 2 files changed, 14 insertions(+), 10 deletions(-)
root@beaglebone:/var/lib/cloud9/pypos# git push origin class_restructure
Enter passphrase for key '/home/root/.ssh/id_rsa':
Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 531 bytes, done.
Total 4 (delta 3), reused 0 (delta 0)
To git@github.com:FarmDesign/pypos.git
   83831a8..1db2e33  class_restructure -> class_restructure
root@beaglebone:/var/lib/cloud9/pypos#

1 个答案:

答案 0 :(得分:3)

GitHub支持与您在其中托管的存储库进行通信的不同协议。如果您使用SSH协议,那么git会要求您输入密码以解锁存储在.ssh中的密钥,该密钥与推送到GitHub仓库的能力相关(任何有权访问密钥的人都可以推送到仓库,因此提供只需要密码即可访问密钥。但是,如果您使用HTTP,系统将要求您提供GitHub用户名和密码。

因此,转到存储库的GitHub网页,注意存储库URL旁边的HTTP,SSH和GIT切换按钮(靠近页面顶部)。使用该按钮来查看repo的URL如何更改 - 这些是您可以访问您的repo的不同URL,具体取决于您使用的协议。现在,单击“HTTP”并将该URL复制到剪贴板。

现在,转到您的终端并cd到repo本地克隆的目录。现在,使用git remote命令更改git与GitHub存储库通信的URL:

git remote set-url origin THE_URL_THAT_YOU_JUST_COPIED_TO_CLIPBOARD

现在,当您尝试执行git push时,git将使用HTTP协议,该协议将要求您指定用户名和密码。