Git远程仓库(2)

Git远程仓库(2)

远程仓库

普通远程仓库搭建

环境

虚拟机: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账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号