Git 远程仓库
远程仓库
普通远程仓库搭建
环境
虚拟机:Oracle VM VirtualBox
镜像:CentOS-6.5-i386-minimal.iso
账号:root
密码:hadoop
远程服务器安装 git 服务及新增用户
yum install -y git:安装git
groupadd git:新增组
adduser -g git git:增加一个用户git,直接将其指定到git组
本地服务器生成密钥并放入远程服务器
(1)生成密钥
本地服务器在 ~/.ssh 目录下可以找到 id_rsa.pub,里面就是公钥
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
(2)将本地服务器生成的公钥放入远程服务器,一行一个
vi /home/git/.ssh/authorized_keys
初始化远程 git 仓库
cd /srv
git init --bare oa-parent.git:初始化一个裸仓库
--bare:裸仓库
设置远程 git 仓库权限
chown -R git:git oa-parent.git
用户 git 禁用 ssh 登录
把 /bin/sh 改为 /usr/bin/git-shell,这样用户 git 就只能用来克隆或者推送数据到远程 git 仓库,而不能用它来登录到主机。
(1)文件路径
vi /etc/passwd
(2)修改配置
原配置
git:x:500:500::/home/git:/bin/bash
修改配置
git:x:500:500::/home/git:/usr/bin/git-shell
(3)用户 git 尝试 ssh 登录
[root@git-server bin]# ssh git@192.168.125.9
git@192.168.125.9's password:
fatal: What do you think I am? A shell?
Connection to 192.168.125.9 closed.
推送本地 git 仓库数据到远程 git 仓库
git remote add origin ssh://git@192.168.125.9/srv/oa-parent.git
git push -u origin master
-u:将本地仓库的 master 分支和远程仓库的 master 分支关联起来
克隆远程 git 仓库数据到本地服务器
git clone ssh://git@192.168.125.9/srv/oa-parent.git
GitLab 远程仓库搭建
环境
虚拟机:Oracle VM VirtualBox
镜像:CentOS-6.5-i386-minimal.iso
账号:root
密码:hadoop
在系统防火墙上开启允许 ssh 和 http 访问
yum install -y curl policycoreutils-python openssh-server cronie
lokkit -s http -s ssh
安装 postfix 来支持 GitLab 发送邮件
yum install -y postfix
service postfix start
chkconfig postfix on
安装 GitLab
会自动安装和配置 GitLab,同时在指定的 url 启动 GitLab
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-
ee/script.rpm.sh | sudo bash
EXTERNAL_URL="http://192.168.125.6" yum -y install gitlab-ee
访问 GitLab
(1)按照上面 EXTERNAL_URL 指定的 url 访问 GitLab
http://192.168.125.6
(2)账号密码
账号:root 密码:12345678
GitLab 的使用
1、创建 OA 组
2、创建 zhss 用户,在 OA 组中加入 zhss 用户
账号:zhss
密码:12345678
权限:Maintainer
3、OA 组中创建 oa-parent 项目,会默认将组中的用户加入到项目中
4、登录 zhss 用户,将本地服务的 SSH key 放入 GitLab 中
cat ~/.ssh/id_rsa.pub
5、本地仓库代码上传到远程仓库
git remote remove origin
git remote add origin git@192.168.125.6:OA/oa-parent.git
git push -u origin master
SSH 免密设置后,仍提示输入密码
// SSH 调试
ssh -vT git@git@192.168.125.6 -p 22
// 最后发现问题
Next authentication method: password
// 解决方案:更换工作模式
vi /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled
// 三种工作模式
disabled:关闭模式)
permissive:宽容模式)
enforcing:强制模式
GitLab 常用功能
GitLab 服务管理
// 查看服务状态
gitlab-ctl status
// 启动服务
gitlab-ctl start
// 停止服务
gitlab-ctl stop
// 重启服务
gitlab-ctl restart
GitLab 日志
gitlab日志:/var/log/gitlab
查看gitlab日志:gitlab-ctl tail
查看gitlab对应的Nginx访问日志:gitlab-ctl tail nginx/gitlab_access.log
查看gitlab对应的数据库postgre-sql的日志:gitlab-ctl tail postgresql
gitlab数据存放目录:/var/opt/gitlab/git-data
gitlab使用文档
http://docs.gitlab.com/ce/
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100705.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...