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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 断点调试原理

    断点调试原理调试断点原理   调试断点,依赖于父进程和子进程之间的通信,打断点实际是在被调试的程序中,改变断点附近程序的代码,这个断点使得被调试的程序,暂时停止,然后发送信号给父进程(调试器进程),然后父进程能够得到子进程的变量和状态。达到调试的目的。   修改断点附近程序的指令地址为0xcc,这个地址的指令就是int3,含义是,是当前用户态程序发生中断,告诉内核当前程序有断点,那么内核

    2022年5月22日
    89
  • 学生选课管理系统毕业设计_设计一个学生选课系统

    学生选课管理系统毕业设计_设计一个学生选课系统项目是较为完善的学生选课管理系统,基于java实现,mysql数据库,前端使用layui框架,已根据论文设计步骤实现。

    2022年10月15日
    2
  • mysql数据库日志存储位置_MySQL数据库之mysql日志文件在哪 如何修改MySQL日志文件位置…「建议收藏」

    mysql数据库日志存储位置_MySQL数据库之mysql日志文件在哪 如何修改MySQL日志文件位置…「建议收藏」本文主要向大家介绍了MySQL数据库之mysql日志文件在哪如何修改MySQL日志文件位置,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助。MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件位置的方法,供您参考。今天需要改MySQL日志文件的位置,发现在/etc/my.cnf中怎么也改不…

    2022年10月14日
    4
  • Java最新下载安装教程

    Java最新下载安装教程一、网络原理OSI与TCP/IP各层的结构与功能,都有哪些协议TCP建立连接的过程,为什么要三次握手?TCP、UDP协议的区别,各自的应用场景打开浏览器,输入URL地址,访问主页的过程HTTP有哪些方法?HTTP和HTTPS有什么区别?二、Java核心技术HashMap底层数据结构是什么,时间复杂度多少?JDK8中对HashMap做了怎样的优化?HashMap和TreeMap什么区别?ConcurrentHashMap的实现原理包装类的

    2022年7月7日
    32
  • Java——数组转换为List集合

    Java——数组转换为List集合packageday04;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.List;/***数组转换为List集合*不能转换为Set集合,原因在于Set集合不能存放重复元素*@authorAdministrator**/publicclassToListDemo…

    2022年6月17日
    32

发表回复

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

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