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


相关推荐

  • pycharm2021.9 激活码(JetBrains全家桶)[通俗易懂]

    (pycharm2021.9 激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    50
  • 【Unity3D入门教程】Unity3D简介、安装和程序发布

    【Unity3D入门教程】Unity3D简介、安装和程序发布Unity3D是一个跨平台的游戏开发引擎,它能够帮助开发者快速构建游戏场景,进行游戏开发与发布。它支持将开发好的作品发布到Windows、MacOS、Android、iOS、Linux等多种平台。另外,Unity3D官方版本目前可以运行在Windows和MacOS上,当然还有可以运行在Linux上的非官方版本。

    2022年9月19日
    0
  • kafka应用场景包括_不是kafka适合的应用场景

    kafka应用场景包括_不是kafka适合的应用场景一、Kafka简介Kafka是linkedin使用Scala编写具有高水平扩展和高吞吐量的分布式消息系统。Kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)称为broker。无论是Kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性,为集群保存一些meta信息。二、mq对比

    2022年10月14日
    0
  • 游戏是怎么赚钱的 – 进阶篇[通俗易懂]

    游戏是怎么赚钱的 – 进阶篇[通俗易懂]首先回答几个常见的问题1、昨天提到的广州神武,其实是广州多益,主打产品叫做神武,感谢评论区勘误,这个公司创始人徐波也是个挺传奇的故事,然而很抱歉,今天不讲八卦,有兴趣的可…

    2022年7月19日
    23
  • eve模拟器上虚拟服务器,没有真机怎么做实验?EVE模拟器了解一下

    eve模拟器上虚拟服务器,没有真机怎么做实验?EVE模拟器了解一下网络很重要的一个环节就是大量的实践操作,通过教程学习知识点,再用实践来验证这些知识学会了没有,如此反复。这样的问题也随之而来,初学网络连概念都刚刚建立,怎么才能接触到网络设备:交换机、路由器、防火墙等等?既然避免不了实验测试,离不开实验环境,这就给大家推荐一款最好用的模拟器——eve模拟器。EVE模拟器已经不仅可以模拟网络设备,也可以运行一切虚拟机。理论上,只要能将虚拟机的虚拟磁盘格式转换为qco…

    2022年6月11日
    47
  • 易百教程wxpython_WxPython教程

    易百教程wxpython_WxPython教程wxPython是一个Python包装wxWidgets(这是用C++编写),一个流行的跨平台GUI工具包。由RobinDunn以及HarriPasanen开发,wxPython是作为一个Python扩展模块。就像wxWidgets,wxPython也是一个免费的软件。它可以从官方网站下载:http://wxpython.org.在本网站上可下载wxPython对应操作系统平台二进…

    2022年5月22日
    37

发表回复

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

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