2-github&gitlab


github,gitlab

github,gitlab 1

1. github 2

2. gitlab 9

github

简介:

github是一个git版本库的托管服务,是目前全球最大的软件仓库,拥有上百万开发者用户,也是软件开发和寻找资源的最佳途径,Github不仅可以托管各种git版本仓库,还拥有美观的web界面,代码可以被任何人克隆,使得开发者为开源项共享代码变得更加容易,也有付费的私有库,但具有更高性价比

创建仓库操作:

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

按照提示在工作目录输入命令即可

添加远程仓库在github网站,根为origin可以指定是哪个本地仓库

通常用在项目第一次上传
git remote add origin git@github.com:lijiahao0302/git_data.git

查看是否成功创建

git remote

2-github&gitlab

做免密钥

ssh-keygen -t rsa -P '' -f /root/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub

2-github&gitlab

复制生的密钥
1

2-github&gitlab

2

2-github&gitlab

3

2-github&gitlab

4

2-github&gitlab

将主干分支推送上去

git push -u origin master

2-github&gitlab

add:也可以将分支推送上去
git branch -M main
git push -u origin main

回到web界面查看

2-github&gitlab

2-github&gitlab

下载方式:

将下载连接粘贴

2-github&gitlab

下载到/tmp目录下

cd /tmp
git clone git@github.com:lijiahao0302/git_data.git

2-github&gitlab

gitlab

简介:

2-github&gitlab

gitlab的安装

官网安装gitlab文档:

https://gitlab.com

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

使用官网上的源

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

配置系统防火墙,开启HTTP和SSH端口(关闭iptables或开放ssh)

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld

安装Postfix以发送通知邮件

sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix

安装

sudo yum install gitlab-ce-12.10.13-ce.0.el7.x86_64

官网直接下载包(建议)

https://packages.gitlab.com/gitlab/gitlab-ce

清华源下载

cd /etc/yum.repos.d/

vim /etc/yum.repos.d/gitlab-ce.repo

[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

yum makecache

yum -y install gitlab-ce.x86_64

我自己有包

yum install -y curl policycoreutils-python openssh-server

rpm -ivh gitlab-ce-10.2.3-ce.0.el7.x86_64.rpm

2-github&gitlab

修改配置文件,重新配置

vim /etc/gitlab/gitlab.rb

2-github&gitlab

gitlab-ctl reconfigure

2-github&gitlab

gitlab-ctl status

2-github&gitlab

常见的命令和目录

目录:

/opt/gitlab/:gitlab程序安装目录

/var/opt/gitlab/:gitlab目录数据目录

ll /var/opt/gitlab/git-data/:存放仓库数据

命令:

gitlab-ctl reconfigure:更改配置文件后需重新配置

gitlab-ctl status:查看目前gitlab所有服务运行状态

gitlab-ctl start/stop:开启/停止gitlab服务

gitlabctl start/stop nginx 单独 开启/停止 某个服务

gitlab-ctl tail:查看所有服务的日志

进入网站进行配置:

输入:192.168.1.10

2-github&gitlab

2-github&gitlab

2-github&gitlab

gitlab汉化

2-github&gitlab

安装汉化包:gitlab-patch-zh.tat.gz
tar xf gitlab-patch-zh.tat.gz
汉化和版本一定要一致

2-github&gitlab

cat /root/gitlab/VERSION

2-github&gitlab

停止服务器
gitlab-ctl stop
cd /root/gitlab/
对比版本
git diff v10.2.3 v10.2.3-zh > ../10.2.3-zh.diff
补丁找到区别自动输出
vim ../10.2.3-zh.diff

2-github&gitlab

打补丁
yum -y install patch
patch -d /opt/gitlab/embedded/service/gitlab-rails/ -p1 < /root/10.2.3-zh.diff
启动重新配置
gitlab-ctl start
gitlab-ctl reconfigure
汉化成功

2-github&gitlab

修改登陆界面提示信息和logo

2-github&gitlab

2-github&gitlab

效果图:

2-github&gitlab

2-github&gitlab

创建组和项目以及用户

创建过程

2-github&gitlab

先创建组,然后创建项目和用户

创建组

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

创建项目

2-github&gitlab

2-github&gitlab

2-github&gitlab

创建ssh密钥认证并发送本地代码

显示需要认证ssh才可以连接

2-github&gitlab

2-github&gitlab

2-github&gitlab

回到工作目录,干掉之前github上的仓库

git remote remove origin

2-github&gitlab

选择ssh传输

2-github&gitlab

新建一个origin远程仓库并将本地master仓库推送到远程仓库中

git remote add origin git@192.168.1.10:test/git_data.git

git push -u origin master

刷新一下

2-github&gitlab

创建一个新的文件推到远程仓库的过程:

创建本地文件: touch test.txt

将本地文件加入到缓存区 git add test.txt

将文件推送到本地仓库 git commit -m "add test.txt to local store"

将本地仓库文件推送到远程仓库 git push -u origin master

2-github&gitlab

关闭自动注册,防止外来人员注册登录

2-github&gitlab

2-github&gitlab

注册选项栏消失

当开发组需要使用时,为开发组创建用户

创建用户

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

将dev用户加入到test组中,让其可以管理git_data仓库

换一个浏览器登录dev用户

2-github&gitlab

修改初始密码

2-github&gitlab

登陆后项目空空如也

2-github&gitlab

使用root将用户dev加入test组

2-github&gitlab

2-github&gitlab

2-github&gitlab

dev用户刷新页面,加入密钥可以下载

2-github&gitlab

当然也需要使用开发用户的密钥才可以下载,使用另一台虚拟机上传密钥

2-github&gitlab

2-github&gitlab

2-github&gitlab

回到dev用户的服务器中输入git clone 复制的内容 即可


git clone git@192.168.1.10:test/git_data.git

2-github&gitlab

初次使用dev用户实现上传功能

cd git_data/
touch newfile.txt
git add newfile.txt
git commit -m "add newfile.txt to localstore"
此时需要进行用户认证,一定要web中相匹配

2-github&gitlab

git config --global user.name "dev"
git config --global user.email dev@qq.com
这两项配置加入到~/.gitconfig下,日后可以直接修改
项目中修改用户可以手动配置配置文件或者进入项目去掉--global配置,优先级大于全局配置


去掉--global配置


git config --global user.name "dev"


git config --global user.email 1111@qq.com


vim /项目目录/.git/config

2-github&gitlab

git commit -m "add newfile.txt to localstore"
推送到远程仓库
git push -u origin master

生产环境下不允许开发直接推到主干上,要为其创建一个分支

代码合并流程

2-github&gitlab

web界面设置禁止开发直接推送到主线上

保护设置

2-github&gitlab

2-github&gitlab

开发端服务器进行测试
touch 123.txt
git add .
git commit -m "newfile 123.txt"
git push origin master

2-github&gitlab

操作:

实现流程

2-github&gitlab

两端操作
git_pull

2-github&gitlab


当有多个dev用户开发一个项目时,当一个dev用户上传并合并master,此时其他dev用户需要使用 git pull 重新拉取master代码,实现本地和远程仓库一致才可以上传

dev操作
git branch -b dev
touch 456.txt
git add .
git commit -m "newfile 456.txt"
git push -u origin dev
web登录dev用户,发起请求合并

2-github&gitlab

2-github&gitlab

2-github&gitlab

此时进入管理员用户
进入到git_data项目,审核后如果没问题进行合并

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab

如果开发要开发新的东西,需要拉取项目,创建一个新的分支,然后创建新的文件,提交到自己的分支,最后请求合并
dev操作将代码推送到远程仓库(记住新建分支):


获取项目


通过ssh方式获得:第一次需要主机密码

git clone git@192.168.1.10:test/git_data.git


通过http模式获得:第一次需要输入用户名和密码

2-github&gitlab


git clone http://192.168.1.10/maven/git_data.git

2-github&gitlab


cd git_data


git checkout -b dev


touch file.txt


git add file.txt


git commit -m "add file.txt"


git push origin dev


可以上传多个文件,这里只创建一个文件file.txt

进入到web端请求合并

2-github&gitlab

2-github&gitlab

2-github&gitlab

2-github&gitlab


最后master选择remove掉dev分支(或者dev用户自己删除),新的项目重新创建分支

git整体避坑流程:
初次上传项目时,按照项目下给的命令,创建一个origin与远程仓库进行连接,如果开启了保护模式,只能创建一个新的分支将代码上传请求合并而无法直接推到master主线上,但是如果代码上传的请求被root用户通过且分支尚未删除,此分支无法继续上传,需要另外建立分支才可以上传,root用户一般删除一个分支之后会删除掉这个分支第二次修改已经被远程仓库管理的项目时只需要git clone即可,不需要创建origin
jenkens无法认证url无法拉取git上面的的代码:首先把开发使用的服务器的公钥复制到gitlab(developkeys),同时要在jenkins服务器上声明自己是谁(git config),而且这个用户身份必须是gitlab许可的用户,需要将加入的用户身份修改成dev(一般是开发用户),才可以实现url正常获取
gitlab踩到的坑
遇到了502坏的网关


多配置内存,多增加几个CPU核心数

如果开了toncat,切记修改端口


vim /etc/gitlab/gitlab.rb


unicorn['port'] = 9090


gitlab-ctl reconfigure

官方解决的问题


sudo gitlab-ctl restart sidekiq


sudo gitlab-ctl hup unicorn

发布者:LJH,转发请注明出处:https://www.ljh.cool/35824.html

(0)
上一篇 2023年4月20日 上午2:14
下一篇 2023年4月20日 上午2:16

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注