gitlab操作笔记
安装下载
准备
1. 安装所需命令
sudo yum install curl openssh-server openssh-clients postfix cronie -y
2. 安装SSH
sudo yum install curl policycoreutils-pythonopenssh-server -y
3. 将SSH设置成开机自启动,并启动
sudo systemctl enable sshd && sudo systemctl start sshd
4. 将SSH暴露到防火墙外面去
sudo firewall-cmd --permanent --add-service=http
5. 安装Postfix以发送通知邮件
sudo yum install postfix -y
6. 将Postfix设置成开机自启动,并启动
sudo systemctl enable postfix && sudo systemctl start postfix
安装
1. 国内下载镜像地址,根据自己的系统是6还是7进行选择,我的系统是7,我这里选择下载10.2.7版本,执行如下命令进行下载
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm
2. 执行rpm,执行完成后如下图所示
rpm -ivh gitlab-ce-10.2.7-ce.0.el7.x86_64.rpm
3. 初始化并启动 (此步骤大概会卡顿5来分钟,请耐心等待。然后输入ip就能进入gitlab首页了,例如:192.168.200.101)
sudo gitlab-ctl reconfigure
4. 创建管理员密码登录后,就能创建项目仓库进行各种操作了
修改默认端口
1. 修改配置(注意不要用8082,9090 端口,因为自带工具会用到)
vim /etc/gitlab/gitlab.rb
nginx['listen_port'] = 9092 #原值 nginx['listen_port'] = nil
unicorn['port'] = 9091 #原值 unicorn['port'] = 8080
2. 修改gitlab地址(此时将不再返回域名,而是返回这个地址)
external_url 'http://192.168.200.101:9092'
2. 刷新配置
gitlab-ctl reconfigure
3. 重启(启动成功后,ip:9092就能访问了)
gitlab-ctl restart
常用命令
安装后,已经自动安装成开机启动服务
开启:gitlab-ctl start
关闭:gitlab-ctl stop
重启:gitlab-ctl restart
服务启动命令:systemctl start gitlab-runsvdir.service
服务停止命令:systemctl stop gitlab-runsvdir.service
服务重启命令:systemctl restart gitlab-runsvdir.service
服务开机启动命令:systemctl enable gitlab-runsvdir.service
取消开机启动命令:systemctl disable gitlab-runsvdir.service
服务查看命令:systemctl list-unit-files
卸载
1. 停止gitlab
gitlab-ctl stop
2. 卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
3. 查看gitlab进程
ps aux | grep gitlab
4. 杀死第一个进程(就是带有好多........的进程)
kill -9 4864
5. 删除所有包含gitlab文件(最后查看 ps aux | grep gitlab 没有进程就卸载完了)
find / -name gitlab | xargs rm -rf
本地项目上传到gitlab
git客户端全局签名配置
团队协作开发为了区分是谁提交的代码,我们必须要设置'姓名和邮箱',任意目录右键 ——> Git Bash Here 就能设置了。
git config --global user.name 吴磊
git config --global user.email 246684@qq.com
git config --list
SSH密钥设置
配置ssh秘钥之后,就能复制git仓库的ssh地址直接拉取了;否则只能复制git的http地址通过账号密码拉取代码。
1. 进入.ssh文件夹,如果提示 "No such file or directory" 就手动创建 mkdir ~/.ssh
cd ~/.ssh/
2. 生成key
ssh-keygen -t rsa -C "246684@qq.com"
3. 将id_rsa.pub里的内容粘贴到gitlab密钥中,Add key 保存即可。
上传项目
1. 在项目的根目录下打开git窗口初始化项目,此时会生成一个隐藏文件夹.git 。
git init
2. 将文件纳入git版本控制,.表示当前所有文件,可以将.换成文件名指定文件。
git add .
3. 将项目提交到本地仓库,git commit -m "注释语句"
git commit -m "初始化本地项目"
4. 将本地的仓库关联到github上
#我这里没有外网域名,所以用内网ip访问 git remote add origin git@192.168.200.101:root/project1.git
git remote add origin git@gitlab.example.com:root/project1.git
5. 发布到远程仓库
git push -u origin master
也可以指定分支上传。(我这边不执行第6步上传不成功这里记录一下,git pull origin dev --allow-unrelated-histories
新建(删除)分支
idea操作gitlab
首次拉取仓库代码
更新代码(右击项目名 —> Git —> Repository —> pull..)
提交代码 (右击项目名 —> Git —> Commit Directory)
切换分支(如果本地没有分支的话需要先刷新远程分支;有了就可以直接点击右下角切换了。)
解决冲突
1. 代码冲突之后文件是红色的,此时清理好代码之后点击 Git ——> Add 来添加到版本控制,此时代码就不是红色了。
2. 然后 Git ——> Repository ——> push 推送代码,此时会展示出冲突的代码,我们点击 '合并'。
3. 按照下面图中操作完之后,点击 Apply。然后再次 Git ——> Repository ——> push 就推上去了。
分支合并(比如要把test分支代码合并到master)
1. 在master分支下,点击右下角的test分支,然后 Merge into Current
2. 此时会弹出一个框,选择 smart merge
3. 最后我们 Git —> Commit Directory 提交就合并完成了。
用户权限操作
新建用户
创建好账户密码之后,我们就能新账号登录gitlab了,首次登录需要强制修改密码。
权限赋予
git命令操作
第一次提交代码
提交代码
切换分支
合并分支
冲突解决
。