本文讨论如何在GitLab中添加用户及创建工程。 关于如何搭建gitlab服务器,在我的这篇博文中有所讨论: http://blog.csdn.net/passion_wu128/article/details/8216086
一,登录GitLab工程管理主页
在浏览器中输入配置的服务器IP,链接成功的话会出现GitLab的登录界面:
默认配置的用户名: [email protected] 密码:5iveL!fe
登录成功后点击右上角的admin就可以添加用户和工程了
这个GitLab非常好用,管理用户和工程都非常容易。
添加一个工程
添加一个用户:
貌似这个过程随便用一个未验证过的邮箱都可以,不过最好使用自己的邮箱,信息安全,大家都懂的
接下来在客户端通过刚创建的[email protected]用户克隆这个空工程:
克隆成功后添加文件,并提交就可以创建工程了。
有时候通过这种方式建立的工程不能自动生成到/home/git/repositories目录下(貌似重启什么服务就可以了)。
这时候可以在服务器端手动建立工程
先给git用户设置密码(我创建此用户是没有密码的)
sudo passwd git
su -l git
cd /home/git/repositories
mkdir mywork.git
cd mywork.git
git init --bare (--bare是必须加的参数)
git update-server-info
cd ..
chmod -R g+w mywork.git (必须给group加w权限,否则不能通过http方式push)
(其实可以针对每个仓库 chmod -R 776 refs objects,因为提交的时候是修改这两个文件夹)
起初遇到最大的麻烦是:我的git客户端是安装在Win7上。版本是1.7.x.克隆这个空工程后,提交文件太多的话总是失败:
错误码是401和403,网上说是git版本问题或者git配置问题。
git默认的postBuffer 是5242880(5M),意味着一次提交的文件不能大于5M。
后来我在客户端和服务器端都配置为500M
git config --global http.postBuffer 524288000.
并且在服务器端修改配置文件/home/gitlab/gitlab/config/gitlab.yml 中的git_max_size值为524288000.
但是这样改了之后还是不行,我不确定是不是git版本问题,后来我把创建工程的代码拷贝到服务器上在ubuntu下提交成功了。
过程如下:
按照搭建GitLab的过程gitlab和git用户是没有密码的,而只有gitlab能通过git用户的ssh认证。
所以我使用另外一个普通用户(不要使用root用户)在gitlab目录下操作
sudo -u gitlab mkdir /home/gitlab/workspace
cd /home/gitlab/workspace
放置待克隆工程的目录必须是空目录
sudo -u gitlab git clone git@localhost:mywork.git
然后将欲提交的工程文件拷贝到这个目录,
sudo -u gitlab cp ......
添加本目录下的所有文件到git
sudo -u gitlab git add . (看清楚哦,最后是个' . ',表示提交当前目录所有文件)
添加注释并提交
sudo -u gitlab git commit -m "create project"
sudo -u gitlab git push origin master
至此这个工程就创建成功了,在客户端就可以克隆并提交了。
存在的问题:
在Linux下可以提交大于5M的工程文件,在Winows下面更新这个工程后还是不能提交大于5M的文件。
git更新到1.8.0后还是不可以。哪位高手知道怎么解决的,希望能指点小弟,不胜感激。
(此问题的一种解决方式是使用ssh认证,而不是http协议)