GitLab初体验

最近由于工作需要,开始设计和实现一些新的运维工具,打算使用git替代svn来管理代码,尝试一些不同的技术。

git和svn的区别网上有很多的介绍了,况且已经不是什么太新的技术,如下是一些简要说明。 
(摘自: http://blog.csdn.net/w13770269691/article/details/38705473/)

svn是集中化的版本控制系统, 只有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

这里写图片描述

git是分布式的版本控制系统,每一个终端都是一个仓库,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。每一次的提取操作,实际上都是一次对代码仓库的完整备份。

这里写图片描述

git领域最有名的就是Github,这里我们采用了一个开源版本,GitLab,搭建环境: 
1.操作系统:Red Hat Enterprise Linux Server release 6.4 (Santiago) 
2.GitLab安装包:gitlab-ce-8.11.5-ce.0.el6.x86_64.rpm

GitLab的两种安装方法: 
摘自:https://segmentfault.com/a/1190000002722631 
? 编译安装 
优点:可定制性强。数据库既可以选择MySQL,也可以选择PostgreSQL;服务器既可以选择Apache,也可以选择Nginx。 
缺点:国外的源不稳定,被墙时,依赖软件包难以下载。配置流程繁琐、复杂,容易出现各种各样的问题。依赖关系多,不容易管理,卸载GitLab相对麻烦。 
? 通过rpm包安装 
优点:安装过程简单,安装速度快。采用rpm包安装方式,安装的软件包便于管理。 
缺点:数据库默认采用PostgreSQL,服务器默认采用Nginx,不容易定制。

采用rpm包安装是最快捷的方法,之前有些准备工作:
sudo yum install openssh-server
sudo yum install postfix
sudo yum install cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
安装rpm包:

rpm -ivh gitlab-ce-8.11.5-ce.0.el6.x86_64.rpm 
  • 1
  • 1

修改配置文件/etc/gitlab/gitlab.rb,其中external_url = ‘http://git.example.com‘需要设为本机IP。

重新生效配置:

sudo gitlab-ctl reconfigure
  • 1
  • 1

此时就可以登录http://部署IP,账号:
Username: root
Password: 5iveL!fe
可以自行重置密码操作。

这里写图片描述

再分享一个测试过程中碰见的小问题, 
问题描述: 
使用bisal用户创建了一个repository叫hellogitlab,又创建了一个phibisal用户,本地克隆了远程库:

git clone http://x.x.x.x/bisal/hellogitlab.git 
  • 1
  • 1

打算用这个用户提交,
git push origin master
Username for 'http://x.x.x.x': phibisal
Password for 'http://phibisal@x.x.x.x':
Counting objects: 3, done.
Writing objects: 100% (3/3), 250 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to push code to protected branches on this p
roject.
To http://x.x.x.x/bisal/hellogitlab.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://x.x.x.x/bisal/hellogitlab.git'
再查看下分支的权限设置: 

这里写图片描述
提示merge和push只有Masters角色可执行,phibisal的角色是Developers,因此禁止直行push操作。 
这里写图片描述 
所以需要将push的权限授予Developers即可。 
这里写图片描述
再次执行push,
git push origin master
Username for 'http://x.x.x.x': phibisal
Password for 'http://phibisal@x.x.x.x':
Counting objects: 3, done.
Writing objects: 100% (3/3), 250 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://x.x.x.x/bisal/hellogitlab.git
   e1ea43e..cd850d6  master -> master

总结:
1.gitlab的rpm安装过程还是比较简单,数据库、rb都是默认安装了。
2.对于git的使用,强调和SVN最大的不同就是分布式,不会像SVN集中式下对于网络的强烈需求,这点还需要继续体验。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7192724/viewspace-2124847/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7192724/viewspace-2124847/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值