GIT服务器用户名和密码authentication

我想设置一个GIT服务器,让我的开发人员使用用户名和密码login,以提交和更改项目。 我还需要pipe理开发者对项目的访问(我想我应该使用gitolite)。

我怎样才能做到这一点?

我习惯了SVN,这很容易,因为你可以为每个开发者设置用户名和密码,这样可以很容易地访问版本库,而不需要生成一个ssh密钥并放到服务器上。

谢谢

也许你不知道这一点,但Git是一个分布式的VCS。 这对你的理解至关重要。 OTOH SVN和CVS是集中的。 您仍然可以在Git中拥有一个中央存储库,如果这样做,您的用户将需要能够使用SSH或HTTP访问login到该服务器,然后查看它。 一般来说,Git依赖于服务器的authentication。

所以要在Debian或者Ubuntu服务器上做一个集中​​使用的git repo:

# apt-get install git # cd /var/git # git init --bare myreponame.git # adduser <username> as needed 

此时你有一个空的回购。 克隆到您的桌面Debian或Ubuntu:

对于SSH连接:查找ssh keygen并build立一个无密码的连接到你的服务器 – keygen,共享只有两个命令。

克隆回购:

 $ git clone <server>:/var/git/myreponame.git $ cd myreponame 

现在你可以添加文件和目录…当你使用git add和git commit的时候,你可以使用git push来推送提交到中央仓库。

  • 有非裸机,你必须阅读,使用标准的Git引用,只是谷歌。
  • 警告“共享库”不是你从名字中想到的。

gitolite使用公钥authentication和FWIW,你不需要生成每个人的密钥对。 只要问他们的公钥。

gitolite的configuration只是另一个存储库,您只需要授予访问权限并相应地添加公钥。

我想设置一个GIT服务器,让我的开发人员使用用户名和密码login,以提交和更改项目。 我还需要pipe理开发者对项目的访问

我会build议使用GitLab社区版。 因为它具有您需要的所有function以及更多function。

我习惯了SVN,这很容易,因为你可以为每个开发者设置用户名和密码,这样可以很容易地访问版本库,而不需要生成一个ssh密钥并放到服务器上。

其实SSH密钥是非常舒适的,因为你不需要inputlogin/密码每次你想克隆/拉/推/等。

任何方式与gitlab,你可以使用login/密码和/或SSH密钥。