因为公司的版本管理有点混乱,现在的状况是使用SVN但是除了提交更新都没有其他的操作,用了和没用区别不大,版本管控完全落到开发人员的身上,还需要开发人员手动记代码清单,使用比较工具去提交代码,我实在是忍受不了这种行为了,费时耗力,还错误百出,严重影响工作效率和上班心情划水摸鱼。废话不多说现在开始搭建git服务器。
1.安装gitlib服务端
直接使用git服务端也能搭建git服务器但是相比较而言比较麻烦,搭建起来配置什么的很繁琐,而gitlib提供了web界面配置管理项目和人员权限什么的都比较方便,所以这里强烈推荐使用gilib,毕竟工具嘛好用才是王道。
下载地址:https://about.gitlab.com/install/
我的安装环境:centos7
我安装的时候官网有个很醒目的提醒
这个我当时安装的时候内存不到4G后面启动的时候会报一个503的错误说请求超时。
- 下载安装包
我下载的是当时最新版:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-12.1.1-ce.0.el6.x86_64.rpm
也可以直接在centos7上下载:
wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-12.1.1-ce.0.el6.x86_64.rpm/download.rpm
没装wget的直接yum install wget.
- 安装程序
在下载的安装包路径下直接执行以下命令
说明一下这些都是官方文档提供的步骤随时间的改变可能不一样,-i后面的包名和你下载的包名要一致,EXTERNAL_URL就是外部访问路径了,如果你的主机有域名填域名没有填IP 默认端口是80可以省略 ,如果你需要修改的话也要带上。示例:EXTERNAL_URL=“http://gitlab.example.com:8888” ,EXTERNAL_URL=“http://127.0.0.1:8888”
sudo EXTERNAL_URL="http://gitlab.example.com" rpm -i gitlab-ee-9.5.2-ee.0.el7.x86_64.rpm
至此安装步骤就完了,安装过程有点长需要耐心等待。
- 常用命令和主要配置
安装完成后浏览器输入ip端口访问有可能出现502,503错误还有可能有些依赖包的问题,这个前面提到过一点,可能是内存不够和端口错了的问题,没包的yum安装下就行了,根据实际情况自己排查下。比较常用的命令如下:
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
gitlib的配置文件在/etc/gitlab/gitlab.rb中
修改端口和IP地址如下:
external_url 'http://gitlab.example.com'
unicorn['port'] = 8088
2.访问gitlib服务器
登录服务端我们就能开始使用git服务了下面我介绍几个常用功能。
- 创建项目
以管理员身份登录后点击扳手图像里面就能看到创建项目,用户,组的功能,细节就不说了,大家自己看看就懂很简单。 - 创建用户
最主要的是这个权限的控制 - 分支创建
- 合并请求
合并请求是一个提出您对项目所做的更改并与其他人讨论这些更改的地方,也就是一个代码评审的功能。
3.git客户端TortoiseGit的使用简介
官网下载:https://tortoisegit.org
安装客户端TortoiseGit
TortoiseGit配合gitlib管理项目的常规步骤:
- github服务端建立项目
gitlib服务端新建一个工程作为默认主线设置保护标签,一般只有项目组成员的角色为维护者才能执行合并操作,这个主线就能作为上线的版本控制,然后再拉个分支,设置权限为维护者和开发者都能提交合并代码,我们开发都在这支线上开发,提交到主线时管理员审核过了合并过去。
- 开发人员把分支克隆到本地
安装完TortoiseGit客户端接下来配置客户端,选定自己的文件存储地方点击右键出现如下
URL最好去服务端项目页面去考下来以免错误,勾选分支克隆分支代码
- 配置TortoiseGit
选中克隆下来的文件夹,点击鼠标右键
选择设置进入以下界面
填写你的账号名称,和邮箱地址
配置远程并保存远端账户密码
这里的URL 格式是这样的http://username:password@项目地址 ,这样配置是为了每次向远程服务端提交和跟新的时候不用反复填写用户每次和密码。
也有说这样配置的,点击下图中的.git/config文件 在其中编辑加上如下内容
[credential]
helper = store
但是我试过了不行。更多内容可以参见这个地址https://stackoverflow.com/questions/14000173/tortoisegit-save-user-authentication-credentials
这样TortoiseGit配置基本完成了,可以试下本地提交远程提交,拉取是否能行,关于git的各种操作命令和使用特性不在本文讨论范围。