我想设置一个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来推送提交到中央仓库。
gitolite
使用公钥authentication和FWIW,你不需要生成每个人的密钥对。 只要问他们的公钥。
gitolite
的configuration只是另一个存储库,您只需要授予访问权限并相应地添加公钥。
我想设置一个GIT服务器,让我的开发人员使用用户名和密码login,以提交和更改项目。 我还需要pipe理开发者对项目的访问
我会build议使用GitLab社区版。 因为它具有您需要的所有function以及更多function。
我习惯了SVN,这很容易,因为你可以为每个开发者设置用户名和密码,这样可以很容易地访问版本库,而不需要生成一个ssh密钥并放到服务器上。
其实SSH密钥是非常舒适的,因为你不需要inputlogin/密码每次你想克隆/拉/推/等。
任何方式与gitlab,你可以使用login/密码和/或SSH密钥。