2010-12-14 97 views
3

我一直在使用Git在单独的服务器上保存项目的存储库。目前把事情到仓库提交后我做管理Git用户和密码

git push 

然后问我的密码我设置使用的远程服务器上的git仓库的帐户。由于我设置存储库已经有一段时间了,我不知道如何删除该密码(可能是坏主意)或更改/添加git存储库的用户帐户。我确定这很简单,但我很难用它搜索。我是否缺少push命令的一些论据?

感谢。

回答

5

这里可能有一些重复的,但我没有看到他们在第一次搜索,所以这是你的快速答案。

您可能想要使用SSH公钥/私钥对认证。通常,这意味着在本地计算机上运行ssh-keygen(如果您以前没有),然后使用ssh-copy-id [email protected]将公钥复制到远程计算机。 (如果您没有ssh-copy-id,您可以将公钥添加到远程的.ssh/authorized_keys;这就是它的全部功能。)一定要将公钥授予合适的用户(具有git repo权限的用户)。

如果您希望更安全,您可以为密钥对设置密码并使用ssh-agent或keychain之类的功能来记录会话。有关更多信息,请参阅Configuring Git over SSH

如果你要做很多这个,你可能想看看gitolite,它自动化了很多这种git管理类型的东西。如果您要继续手动完成此操作并为其他人提供使用该回购的功能,则可能需要使回购用户的外壳为git-shell,这实际上是一个无法登录的外壳,它只能运行必要的git命令。