基本命令

准备

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

新建(删除)分支

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了,首次登录需要强制修改密码。

权限赋予

  

gitlab操作笔记的更多相关文章

  1. Centos7系统下修改主机名操作笔记

    习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下: 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient) ...

  2. C语言 字符串操作 笔记

    /* C语言字符串的操作笔记 使用代码和注释结合方式记录 */ # include <stdio.h> # include <string.h> int main(void) ...

  3. Oracle 日常应用和操作笔记

    简单整理oracle日常应用笔记. 1.采用excel表格中的数据直接粘贴数据库记录中,默认会在后面加一个空格“”,操作完成后一定要记得对空格匹配然后修改一下. 2.查询数据库里的所有表结构, 采用s ...

  4. MongoDb的副本集搭建教程(个人操作笔记)

    很多公司都在用MongoDb ,一直没有时间研究,最近好好的整了一下,做下笔记,直接上操作步骤,关于Mongodb的理论知识可以搜索其他资料,也可以联系我索取 mongoDB官方已经不建议使用主从模式 ...

  5. GITLAB安装笔记

    CentOS 7 最小安装后操作 设置时区timedatectl set-timezone Asia/Shanghai 添加 Gitlab 清华源 vi /etc/yum.repos.d/gitlab ...

  6. LINUX上安装JDK+tomcat+mysql操作笔记

    1.环境准备: 1-1.centos 64位(本人的虚拟机安装此系统),安装步骤和网络配置已经在前两篇记录. 1-2.JDK 版本1.8 1-3.tomcat压缩包 1-4.CRT远程连接工具(可用其 ...

  7. git常用操作笔记

    这是我看了廖雪峰的git教程,写的笔记,仅作为一个学习的记录 一.大多数我们面临的是已经有一个进行中的项目了,我们只需克隆下来就可以了 1.安装git,安装完后,可输入git,回车,查看是否已安装 2 ...

  8. 关于pgsql 的json 和jsonb 的数据查询操作笔记整理

    关于pgsql 的json 和jsonb 的数据处理笔记 1. json 和jsonb 区别两者从用户操作的角度来说没有区别,区别主要是存储和读取的系统处理(预处理)和耗时方面有区别.json写入快, ...

  9. 离线版centos8环境部署迁移监控操作笔记

    嗨咯,前两天总结记录了离线版centos8下docker的部署笔记,今天正好是2021年的最后一天,今天正好坐在本次出差回家的列车上,车上没有上面事做,索性不如把本次离线版centos8环境安装的其他 ...

随机推荐

  1. RESTful API是什么?

    1. REST 是Repersentational State Transfer的缩写 翻译为"表述性状态传递",那么什么是表述性状态传递呢?为了理解这个词语,我们从"R ...

  2. JS基础_对象操作

    1.in 运算符 通过该运算符可以检查一个对象中是否含有指定的属性,如果有,返回true 语法: “属性名” in 对象 var obj = { name:"hello" } co ...

  3. Ubuntu16.04下安装最新版本的CMake

      当前最新版CMake为3.9.1.. Ubuntu中更新cmake到最新版本,过程如下: 1. 卸载已经安装的旧版的CMake[非必需] apt-get autoremove cmake 2. 文 ...

  4. Hibernate系列1:入门程序

    1.传统的java数据库连接 在传统的开发中,如果要建立java程序和数据库的连接,通常采用JDBC或者Apache Commons DbUtils开发包来完成.他们分别有以下特点: JDBC: 优点 ...

  5. [SQL Server创建视图时的注意点]

    创建视图的查询语句必须要遵守一定的限制 1. 要对某些列取别名,并保证列名的唯一 (具有相同的列名的表,在创建视图的时候,需要使用别名,表名.列名 也是不可以的) 当我们在通过新建视图来创建视图的话, ...

  6. C++面试出现频率最高的30道题目

    http://blog.csdn.net/wangshihui512/article/details/9092439 1.new.delete.malloc.free关系 delete会调用对象的析构 ...

  7. 连续子数组的最大和 java实现

    package findMax; /** * 连续子数组的最大和 * @author root * */ public class FindMax { static int[] data = {1,- ...

  8. vue echarts圆角阴影效果

    series: [ { name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20], itemStyle: { normal: { barBorder ...

  9. Leaflet - 自定义弹出框(popup)

    有两种方法,一种直接改 CSS,一种是通过继承拓展 popup. 方法一:改 CSS 下面是一个将原有样式清空的设置(可能清的不全,只是提供个思路) .l-popup { &--no-styl ...

  10. pandas之数据处理操作

    1.pandas对缺失数据的处理 我们的数据缺失通常有两种情况: 1.一种就是空,None等,在pandas是NaN(和np.nan一样) 解决方法: 判断数据是否为NaN:pd.isnull(df) ...