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

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

分支结构

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小时后删除

创建用户



相关推荐
Elastic 中国社区官方博客1 小时前
如何将数据从 AWS S3 导入到 Elastic Cloud - 第 3 部分:Elastic S3 连接器
大数据·elasticsearch·搜索引擎·云计算·全文检索·可用性测试·aws
掘金-我是哪吒1 小时前
微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka
redis·mysql·mongodb·elasticsearch·微服务
Aloudata2 小时前
从Apache Atlas到Aloudata BIG,数据血缘解析有何改变?
大数据·apache·数据血缘·主动元数据·数据链路
水豚AI课代表2 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
研究是为了理解3 小时前
Git Bash 常用命令
git·elasticsearch·bash
拓端研究室TRL5 小时前
【梯度提升专题】XGBoost、Adaboost、CatBoost预测合集:抗乳腺癌药物优化、信贷风控、比特币应用|附数据代码...
大数据
黄焖鸡能干四碗5 小时前
信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
大数据·人工智能·软件需求·设计规范·规格说明书
编码小袁5 小时前
探索数据科学与大数据技术专业本科生的广阔就业前景
大数据
WeeJot嵌入式6 小时前
大数据治理:确保数据的可持续性和价值
大数据
晨欣6 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene