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/
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100705.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7怎么关机_centos7重启后网卡关闭

    centos7怎么关机_centos7重启后网卡关闭开启NetworkManagercat<<EOF>/etc/NetworkManager/nm-system-settings.conf[main]plugins=ifupdown,keyfile[ifupdown]managed=trueEOFreboot关闭NetworkManagersystemctlstopNetworkManagersystemctldisableNetworkManagerrm-rf/var/lib/N…

    2022年9月27日
    0
  • neokylin 系统_centos kde

    neokylin 系统_centos kdeNeoKylin(linux)操作系统基本操作使用的虚拟机工具是VMware虚拟机远程控制工具MobaXterm操作系统:NeoKylin操作系统,(GUI,桥接模式)NeoKylin相关操作开关机操作:init,shutdowm-t/-k/-r/-h…切换用户:suXXX查询文件/目录:ls,ll进入目录:cd绝对路径,相对路径设置别名:alias/unalias查看帮助:help/-hNeoKylin文件操作创建文件touch,vim,echo创建目录m

    2022年8月10日
    3
  • 三星识别文字_免费文字识别

    三星识别文字_免费文字识别百度AI实战营收官战(成都站),宣告百度OCR免费策略再次升级。百度通用文字识别服务的免费使用次数提升100倍,从每天500次提升至每天50000次;通用文字识别高精度版的免费使用次数提升10倍,从每天50次提升至每天500次。目前业界通常按照接口调用次数收费,单个接口单次调用费从几分钱到几毛钱不等,百度永久免费开放通用文字识别及其他文字识别技术,实实在在为企业节约一笔不菲的支出。现阶段已…

    2022年5月25日
    47
  • 软件测试笔试面试题目完全汇总

    软件测试笔试面试题目完全汇总1、软件测试的流程2、web测试和APP测试的区别仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的。那么区别在哪里呢?由于载体不一样,所以系统测试和一些细节可能会不一样。那么我们就要先来了解,web和app的区别。web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。那么在系统测试测试的时候就会产生区别了。首先从系统架构来看的话,web测试…

    2022年5月8日
    38
  • let/const 的变量提升与暂时性死区

    let/const 的变量提升与暂时性死区在面试或一些文章中提到var和let/const区别时,总说var有变量提升,let/const不存在变量提升,这种说法是错误的.var和let/const都有变量提升,但是let/const暂时性死区的存在要求调用该类变量前必须先经过显式赋值

    2022年6月23日
    47
  • jvm之指令重排_java指令重排

    jvm之指令重排_java指令重排引言:在Java中看似顺序的代码在JVM中,可能会出现编译器或者CPU对这些操作指令进行了重新排序;在特定情况下,指令重排将会给我们的程序带来不确定的结果…..1.&nbsp;什么是指令重排?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在计算机执行指令的顺序在经过程序编译器编译之后形成的指令序列,一般而言,这个指…

    2022年8月31日
    1

发表回复

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

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