gitlab

Gitlab

安装git

yum安装

[root@git ~]# yum -y install git

编译安装

Git官网

#安装依赖关系
[root@git ~]# yum install curl-devel expat-devel gettext-devel  openssl-devel zlib-devel autoconf gcc perl-ExtUtils-MakeMaker
# 编译安装 
[root@git ~]# tar -zxf git-2.0.0.tar.gz
[root@git ~]# cd git-2.0.0
[root@git ~]# ./configure --prefix=/usr/local/git # 没有文件可以略过
[root@git ~]# make  
[root@git ~]# make install  

初次运行git前的配置

git config --global user.name “username” #配置git使用用户
git config --global user.email “email@mail.com” #配置git使用邮箱
git config --global color.ui true #语法高亮
git config --list # 查看全局配置

[root@git ~]# git config --global user.name 'zhang'
[root@git ~]# git config --global user.email 'zhang@qq.com'
[root@git ~]# git config --global color.ui true
[root@git ~]# git config --list
user.name=zhang
user.email=zhang@qq.com
color.ui=true

查看配置文件


[root@git ~]# cat .gitconfig 
[user]
        name = zhang
        email = zhang@qq.com
[color]
        ui = true

创建裸库

[root@git ~]# mkdir /git
[root@git ~]# cd /git
[root@git git]# git init --bare zx.git
初始化空的 Git 版本库于 /git/zx.git/

创建本地库

[root@master2 ~]# git clone 192.168.20.143:/git/zx.git
warning: 您似乎克隆了一个空版本库。
[root@master2 ~]# cd zx
[root@master2 zx]# ls
[root@master2 zx]# vim test.sh
[root@master2 zx]# cat test.sh 
#!/bin/bash
echo '111'
[root@master2 zx]# git add .   
[root@master2 zx]# git commit -m 'first'
[master(根提交) a962c49] first
 1 file changed, 2 insertions(+)
 create mode 100644 test.sh
[root@master2 zx]# git push origin master
root@192.168.20.143's password: 
Counting objects: 3, done.
Writing objects: 100% (3/3), 218 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To 192.168.20.143:/git/zx.git
 * [new branch]      master -> master

git add .
git commit -m ‘名字’
git push origin master

1190037-20171130170959948-2117269594.png

Git常规命令

创建文件

[root@master2 zx]# touch file
[root@master2 zx]# git status
# 位于分支 master
# 未跟踪的文件:
#   (使用 "git add <file>..." 以包含要提交的内容)
#
#       file
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)

将文件提交到暂存区

[root@master2 zx]# git add .

文件会添加到.git隐藏目录

[root@master2 zx]# ls -a
.  ..  file  .git  test.sh
[root@master2 zx]# cd .git
[root@master2 .git]# tree
.
├── branches
├── COMMIT_EDITMSG
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch-msg.sample
│   ├── commit-msg.sample
│   ├── post-update.sample
│   ├── pre-applypatch.sample
│   ├── pre-commit.sample
│   ├── prepare-commit-msg.sample
│   ├── pre-push.sample
│   ├── pre-rebase.sample
│   └── update.sample
├── index
├── info
│   └── exclude
├── logs
│   ├── HEAD
│   └── refs
│       ├── heads
│       │   └── master
│       └── remotes
│           └── origin
│               └── master
├── objects
│   ├── 0b
│   │   └── 3f6f232c1737c7afd609b86e4e7e1986e3c815
│   ├── 48
│   │   └── 384f93f82b20c38a6f18bae65555f3236d8bcb
│   ├── a9
│   │   └── 62c4988e3627c5314da76228de2d31cf0d8ea6
│   ├── e6
│   │   └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
│   ├── info
│   └── pack
└── refs
    ├── heads
    │   └── master
    ├── remotes
    │   └── origin
    │       └── master
    └── tags

从工作区提交到本地仓库

[root@master2 zx]# git commit -m 'first commit'
[master b64424d] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file
 [root@master2 zx]# git status
# 位于分支 master
# 您的分支领先 'origin/master' 共 1 个提交。
#   (使用 "git push" 来发布您的本地提交)
#
无文件要提交,干净的工作区

git commit -a -m “注释信息”

删除git内的文件

• 没有添加到暂存区的数据直接rm删除即可。

• 已经添加到暂存区数据:

git rm --cached database

#→将文件从git暂存区域的追踪列表移除(并不会删除当前工作目录内的数据文件)

git rm -f database

#→将文件数据从git暂存区和工作目录一起删除

[root@master2 zx]# git rm --cached 123
rm '123  # 将文件从暂存区删除,不删除源文件
[root@master2 zx]# git add 123
[root@master2 zx]# git rm -f 123 # 将文件从暂存区删除,删除源文件,文件不在暂存区内无法删除
rm '123'

查看历史记录

[root@master2 zx]# git log
commit 3e3834e8ad57e995b90a9fc2f63cdf85e034c3ae
Author: xiao <xiao@qq.com>
Date:   Tue Nov 21 23:52:29 2023 +0800

    444

commit 55b615cb4a8dfe5facf61fe56f965712a8361771
Author: xiao <xiao@qq.com>
Date:   Tue Nov 21 23:51:38 2023 +0800

    333

commit b64424d42fe5f0890b6b54531203791f533d7ecd
Author: xiao <xiao@qq.com>
Date:   Tue Nov 21 23:40:37 2023 +0800

    first commit

还原历史数据

[root@master2 zx]# git reset --hard b64424d42
HEAD 现在位于 b64424d first commit
[root@master2 zx]# ls
file  test.sh

还原未来数据

[root@master2 zx]# git reflog
b64424d HEAD@{0}: reset: moving to b644
3e3834e HEAD@{1}: commit: 444
55b615c HEAD@{2}: commit: 333
b64424d HEAD@{3}: commit: first commit
a962c49 HEAD@{4}: commit (initial): fir
[root@master2 zx]# 
[root@master2 zx]# git reset --hard 3e3834e
HEAD 现在位于 3e3834e 444
[root@master2 zx]# ls
123  444  file  test.sh

分支结构

1190037-20171130171522167-746209354.png

git branch newrain 添加分支
git branch 查看分支
git checkout newrain 切换分支
git branch -d newrain 删除分支

[root@master2 zx]# git branch
* master
[root@master2 zx]# git branch newrain
[root@master2 zx]# git branch
* master
  newrain
  [root@master2 zx]# git branch  -d newrain
已删除分支 newrain(曾为 3e3834e)。

gitlab安装配置

安装gitlab

# 安装依赖,并启动ssh、防火墙开启相应端口、postfix
[root@git ~]# yum install -y curl policycoreutils-python openssh-server perl

# 上传安装包
[root@git ~]# rz
[root@git ~]# yum -y install gitlab-jh-16.5.2-jh.0.el7.x86_64.rpm 
# 安装完成后会直接启动
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.20.134'
[root@gitlab ~]# gitlab-ctl reconfigure
[root@gitlab ~]#  gitlab-ctl status
run: gitaly: (pid 4491) 48s; run: log: (pid 4087) 279s
run: gitlab-monitor: (pid 4539) 44s; run: log: (pid 4251) 207s
run: gitlab-workhorse: (pid 4501) 47s; run: log: (pid 4099) 273s
run: logrotate: (pid 4125) 265s; run: log: (pid 4124) 265s
run: nginx: (pid 4112) 271s; run: log: (pid 4111) 271s
run: node-exporter: (pid 4175) 243s; run: log: (pid 4174) 243s
run: postgres-exporter: (pid 4528) 45s; run: log: (pid 4223) 219s
run: postgresql: (pid 3933) 343s; run: log: (pid 3932) 343s
run: prometheus: (pid 4514) 46s; run: log: (pid 4156) 259s
run: redis: (pid 3876) 355s; run: log: (pid 3875) 355s
run: redis-exporter: (pid 4186) 237s; run: log: (pid 4185) 237s
run: sidekiq: (pid 4078) 281s; run: log: (pid 4077) 281s
run: unicorn: (pid 4047) 287s; run: log: (pid 4046) 287s
[root@gitlab ~]# netstat -lntup|grep 80
tcp        0      0 127.0.0.1:8080      0.0.0.0:*    LISTEN     4073/unicorn master 
tcp        0      0 0.0.0.0:80      0.0.0.0:*         LISTEN      4112/nginx: master  
tcp        0      0 0.0.0.0:8060       0.0.0.0:*      LISTEN      4112/nginx: master  

登陆 Gitlab
用户名: root 密码存放在 /etc/gitlab/initial_root_password 文件中,该文件会在24小时后删除
在这里插入图片描述

创建用户

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/174544.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[汇编实操]DOSBox工具: unable to open input file: 文件名.asm问题解决

出错原因1 &#xff1a;将文件放在debug文件下&#xff0c;mount后发现并没有该文件 解决方案 &#xff1a;重启DOSBox&#xff0c;重新mount&#xff0c;直到dir后可以看到该asm文件 出错原因2&#xff1a;DOS系统不支持8位以上的文件名 解决方案 &#xff1a;将文件名改为8…

智能座舱架构与芯片- (14) 测试篇 上

一、 验证平台概要 1.1 测试软件方法论 “软件定义汽车” 的时代&#xff0c;软件在整车制造中的重要性日渐凸显。但不同于其他行业的软件开发&#xff0c;汽车行业有自己独特的软件开发要求。首先是需求严谨、需求层次复杂、需要通过专业的工具进行管理&#xff1b;其次开发…

基恩士软件的基本操作(四,快速编辑plc技巧)

目录 单元软原件注释快速添加 双击单元配置&#xff0c;进入单元编辑器 KV一键添加注释 双击软元件注释 进入软元件编辑界面 &#xff0c;对弹出的列表中软元件打勾点击登录 元件注释就自动添加了 注释收索&#xff0c;快速编辑软元件 自定义注释收索 空软元件快速查找 …

8.2 Windows驱动开发:内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件&#xff0c;如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉&#xff0c;而所谓的解锁其实就是释放掉文件描述符&#xff08;句柄表&#xff09;占用&#xff0c;文件解锁的核心原理是通过调用ObSetHandleAttri…

PDF文件无密码,如何解密?

PDF文件有两种密码&#xff0c;一个打开密码、一个限制编辑密码&#xff0c;因为PDF文件设置了密码&#xff0c;那么打开、编辑PDF文件就会受到限制。想要解密&#xff0c;我们需要输入正确的密码&#xff0c;但是有时候我们可能会出现忘记密码的情况&#xff0c;或者网上下载P…

人工智能:科技之光,生活之美

在科技飞速发展的今天&#xff0c;人工智能已经深入到我们的生活中&#xff0c;它如同一束璀璨的科技之光&#xff0c;照亮我们生活的每一个角落&#xff0c;使我们的生活更加美好。下面我将从人工智能的领域、应用以及对人工智能的看法三个方面来谈谈它对我们生活的影响。 一、…

c语言-qsort函数的使用-参数带函数指针

一、qsort函数-数组排序 qsort函数是c库里的数组排序函数。会将原始数组进行升序排列。 头文件&#xff1a; #include <stdlib.h> 函数原型&#xff1a; void qsort(void *base, size_t nmemb, size_t size,int (*compar)(const void *, const void *)); 参数&#xff1a…

MySQL数据库:开源且强大的关系型数据库管理系统

大家好&#xff0c;我是咕噜-凯撒&#xff0c;数据在当今信息化时代的重要性不可忽视。作为企业和组织的重要资产&#xff0c;数据的管理和存储变得至关重要&#xff0c;MySQL作为一种关系型数据库管理系统&#xff0c;具有非常多的优势&#xff0c;下面简单的探讨一下MySQL数据…

[补题记录] Coolbits(2019陕西省赛)

URL&#xff1a;https://pintia.cn/problem-sets/91827364500/exam/problems/91827370530 目录 Problem/题意 Thought/思路 Code/代码 Problem/题意 给出 N 个区间&#xff0c;可以从每个区间中选择一个数&#xff0c;问选出的 N 个数的按位与的值最大是多少&#xff1f; …

文心一言 VS 讯飞星火 VS chatgpt (140)-- 算法导论11.4 5题

五、用go语言&#xff0c;考虑一个装载因子为a的开放寻址散列表。找出一个非零的a值&#xff0c;使得一次不成功查找的探查期望数是一次成功查找的探查期望数的 2 倍。这两个探查期望数可以使用定理11.6 和定理 11.8 中给定的上界。 文心一言&#xff0c;代码正常运行&#xf…

树与二叉树堆:树

目录 树&#xff1a; 树的概念&#xff1a; 树的相关概念&#xff1a; 1、结点的度&#xff1a; 2、叶节点&#xff1a;度为0的节点 3、非终端节点或分支节点&#xff1a; 4、父节点和子节点&#xff1a; 5、兄弟节点&#xff1a; 6、树的度&#xff1a; 7、树的层次或…

代码随想录-刷题第二天

977. 有序数组的平方 题目链接&#xff1a;977. 有序数组的平方 思路&#xff1a;双指针思想&#xff0c;数组是有序的且含有负数&#xff0c;其中元素的平方一定是两边最大。定义两个指针&#xff0c;从两端开始向中间靠近&#xff0c;每次比较两个指针的元素平方大小&#…

Vue 项目实战——如何在页面中展示 PDF 文件以及 PDFObject 插件实战

文章目录 &#x1f4cb;前言&#x1f3af;使用 HTML 标签&#x1f9e9; embed 标签&#x1f9e9; object标签&#x1f9e9; iframe标签&#x1f9e9;完整代码 &#x1f3af;使用 PDFObject 插件&#x1f9e9;为什么使用 PDFObject 插件&#xff08;AI翻译&#xff09;&#x1f…

cc linux用root用户执行chmod 777 -R ./提示 Operation not permitted怎么办?

如果你作为 root 用户执行 chmod 777 -R ./ 命令时收到 “Operation not permitted” 错误&#xff0c;可能有几个原因&#xff1a; 不可更改 (Immutable) 文件属性&#xff1a; 文件可能被设置为不可更改。即使是 root 用户也不能修改这些文件的权限。使用 lsattr 命令查看文件…

shell条件语句

一.条件测试 1.三种测试方法 ①test命令测试 ②[ ]测试&#xff08;注意前后需要有空格&#xff09; ③[[ ]]&#xff1a;加强版[ ]&#xff0c;测试支持通配符&#xff08;匹配字符串&#xff09;和正则表达式 二.条件语句 2.1 test命令 测试特定的表达式是否成立…

vue2使用el-tag自定义菜单导航标签

需求&#xff1a;使用el-tag写个菜单导航栏&#xff0c;点击路由的时候就添加 功能&#xff1a; 设置鼠标横向滚动并且不展示滚动条添加关闭其他、关闭左侧、关闭右侧、全部关闭标签功能单个标签删除功能添加&#xff0c;固定标签不可删除右键点击展开操作菜单栏设置个默认固定…

【Django使用】4大模块50页md文档,第4篇:Django请求与响应和cookie与session

当你考虑开发现代化、高效且可扩展的网站和Web应用时&#xff0c;Django是一个强大的选择。Django是一个流行的开源Python Web框架&#xff0c;它提供了一个坚实的基础&#xff0c;帮助开发者快速构建功能丰富且高度定制的Web应用 Django全套笔记地址&#xff1a; 请移步这里 …

【性能测试】稳定性/并发压力测试的TPS计算+5W并发场景设计...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、稳定性测试TPS…

Spring实例化对象

默认proxyBeanMethods true&#xff0c;这种方法是用的代理模式创建对象&#xff0c;每次创建都是同一个对象&#xff0c;如果改为false每次都是不同的对象 FactoryBean的使用 定义的类A&#xff0c;造出来一个类B&#xff0c;可以在创造bean之前做一些自己的个性化操作

时序预测 | Matlab实现HPO-ELM猎食者算法优化极限学习机的时间序列预测

时序预测 | Matlab实现HPO-ELM猎食者算法优化极限学习机的时间序列预测 目录 时序预测 | Matlab实现HPO-ELM猎食者算法优化极限学习机的时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现HPO-ELM猎食者算法优化极限学习机时间序列预测 1.data为数据集…