Gitlab是一个代码托管的工具,有远程仓库,和git功能相同
搭建本地gitlab(主机ip地址为192.68.40.130)新机器
1,配置yum源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
yum insstall -y epel-release
yum clean all
yum makecache
2,安装所需组件
yum install git gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y
yum install curl policycoreutils openssh-server openssh-clients postfix -y
3,关闭selinux以及防火墙
sed -i '/SELINUX/s/enforcing/disabled/' /etc/sysconfig/selinux
systemctl disable firewalld
4,更改主机名(非必须)
hostnamectl set-hostname gitlab.example.com
5,重启机器
reboot
6,下载gitlab的安装包并安装
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.7-ce.0.el7.x86_64.rpm
yum localinstall gitlab-ce-11.11.7-ce.0.el7.x86_64.rpm
7,配置Gitlab主配置文件
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.40.130'#服务器地址
#邮件服务配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "2102114891@qq.com"#通知邮箱地址
gitlab_rails['smtp_password'] = "zfuvmxivgklmchcd"#在qq邮箱中设置
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
gitlab_rails['gitlab_email_from'] = "2102114891@qq.com"#发件人邮箱
user["git_user_email"] = "rooroot@qq.com"#发件人
8,加载配置文件并启动gitlab
gitlab-ctl reconfigure #修改完配置文件要执行此操作
gitlab-ctl start(stop,restart)
启动完成之后可查看gitlab的状态
gitlab-ctl status
验证端口
lsof -i:80
80端口是在初始化gitlib的时候启动的,因此如果之前的有程序占用会导致初始
化失败或无法访问
9,打开浏览器访问ip
第一次登录需要设置密码
登陆之后点击设置将注册功能关闭
创建一个git用户,并在邮箱中更改密码
10,以root用户创建一个组(group)
在组内创建一个项目(peoject)
将创建的git用户添加到组内
11,在项目中创建一个测试页面
12,之后从客户端测试
git clone http://192.168.40.130/test-service/test-project.git
输入用户名和密码
对文件进行修改之后再次提交到远程仓库
git add index.html #添加文件到暂存区
git commit -m “11“ #提交文件到工作区
git push #提交代码到服务器
git常用命令
git config --global user.name “name“ #设置全局用户名,可以非真实账户
git config --global user.email xxx@xx.com #设置全局邮箱,可以非真实邮箱
git config --global –list #列出用户全局设置
git add index.html #添加文件到暂存区
git commit -m “11“ #提交文件到工作区
git status #查看工作区的状态
git push #提交代码到服务器
git pull #获取代码到本地
git log #查看操作日志
vim .gitignore #定义忽略文件
git reset --hard HEAD^^ #git版本回滚, HEAD为当前版本,加一个^为上一个,^^为上上一个版本
git reflog # #获取每次提交的ID,可以使用--hard根据提交的ID进行版本回退
git reset --hard 5ae4b06 #回退到指定id的版本
# git branch #查看当前所处的分支
# git checkout -- file #从服务器更新某个那文件覆盖本地的文件