目录
为什么不用gitlab
无界面版本GIT,最轻量了,只是维护稍困难
国产开源git——gogs文档
为什么不用gitlab
先安装一个gitlab
docker run -p 8112:80 -p 222:22 --name gitlab \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
磁盘说:镜像好大
[root@iz2vcbxdfdrfac7remhtorz ~]# docker images|grep gitlab
docker.io/gitlab/gitlab-ce latest 033bcfa1b036 6 days ago 2.09 GB
启动也是很慢,进入容器看看,有个2G+的embedded,里面内置了ruby python grafana postgresql redis 等好多东西
root@7df8e580d553:/opt/gitlab# pwd
/opt/gitlab
root@7df8e580d553:/opt/gitlab# du -sh *
3.1M LICENSE
4.2M LICENSES
32K bin
188K dependency_licenses.json
2.0G embedded
240K etc
4.0K init
56K licenses
4.0K service
520K sv
8.0K var
32K version-manifest.json
12K version-manifest.txt
空闲情况下的cpu memory消耗也是杠杠滴
模板
无界面版本GIT,最轻量了,只是维护稍困难
1.1 安装Git(无web界面版git仓库)
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel (可选)
yum install git
1.2 创建一个git用户组和用户
groupadd git
useradd git -g git
1.3、idea/git bash免密登录拉取linux git代码
1.创建免密登录需要的文件及配置权限
cd /home/git/ &&mkdir .ssh &&chmod 755 .ssh &&touch .ssh/authorized_keys &&chmod 644 .ssh/authorized_keys
2.在Linux初始化一个仓库用于测试并设置权限
git init --bare /home/gitrepo/test1.git &&chown -R git:git /home/gitrepo
3.Windows打开Git bash,ssh-keygen -t rsa -C "523083921@qq.com"生成公钥rsa.pub,将其写如authorized_keys里面
4.Git bash 执行 git clone git@192.168.203.132:/home/gitrepo/test1.git 或idea拉取Linux git仓库的项目到本地Windows
特别注意:
① 这里是无界面版本的git仓库,只能通过ssh协议拉取代码,即 git clone linuxUserName@IP:/仓库在服务器的绝对路径
②这里专门建了一个用户git来管理仓库目录,直接使用root用户也是可以的,直接将window生成的rsa.pub写到/home/root/.ssh/authorized_keys,git clone root@IP:/仓库在服务器的绝对路径 即可免密拉取代码
③使用github\gitee\gitlab等有界面的git仓库一般还支持http/https协议拉取代码
5.安全设置,指定/etc/passwd 的git用户命令解释器:...git:/bin/bash改为...git:/usr/bin/git-shell
1.4、idea push新项目到linux git仓库
1.idea创建新springboot项目,idea打开terminal命令行
2.git init 初始化本地仓库
3.git add . 将当前文件夹下所有文件加入版本管理
4.git commit -m "init commit。。。" 提交到本地仓库,这时git branch可以看到一个master分支
5.先手动在Linux git仓库目录建立该仓库并赋予权限:git init --bare /home/gitrepo/test2.git &&chown -R git:git /home/gitrepo/ 如果使用gitee等第三方库:在gitee创建bio-nio-netty.git这个仓库
6.git remote add origin git@192.168.203.132:/home/gitrepo/test2.git 即可在Linux的 仓库test2.git添加新分支origin; ;如果使用gitee等第三方库:git remote add origin git@gitee.com:XX2020/bio-nio-netty.git,)
7.git push -u origin master 将本地的master分支推到远程的origin分支
其它:idea push新项目到第三方仓库,如github
1.将ssh公钥设置到github:用户->Settings->ssh keys
2.github创建仓库
2.idea terminal进行push
echo "# jwolf" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:jwolf123456/test1.git
git push -u origin master
安装,100M左右
docker run --name=gogs -p 8112:3000 -v /home/data/git-gogs:/data gogs/gogs
首次访问设置
创建项目test2
idea terminal推送本地项目到test2,密码为上面设置的管理员账户/密码
git remote add origin git@47.108.28.18:admin_gogs/test2.git
git push -u origin master
拉取gogs上的其它项目到本地,使用http协议可以直接拉取
,SSH协议可能是设置问题不能拉取,但是仓库目录是映射到宿主机了的,故可直接用root用户拉取
root@IP:/home/data/git-gogs/git/gogs-repositories/admin_gogs/test.git