阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 6.7下Gitolite 服务搭建及TortoiseGit配置连接

382次阅读
没有评论

共计 6972 个字符,预计需要花费 18 分钟才能阅读完成。

这几天都在研究 Git,没办法公司要要抛弃 SVN 转站 Git,废话就不多说,下面我们进行操作演示:

环境:之前搭建的 Redis-Master 服务器一枚,配置一般般~

工具:TortoiseGit,传说中的小乌龟~

1、安装开发工具与依赖包

[root@redis_master ~]# yum groupinstall "Development tools"            \\ 安装下开发工具,也不是一定要装,只不过自己习惯装起来
===============\\ 安装依赖包 =====================
[root@redis_master ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel

2、安装 Git

[root@redis_master ~]# yum install git

3、创建 Git 用户

[root@redis_master ~]# useradd git
\\ 切换到 git,并且确保所在位置与用户名
[root@redis_master ~]# su - git
[git@redis_master ~]$ pwd
/home/git
[git@redis_master ~]$ whoami 
git
  
\\ 查看.ssh是否存在,如果不存在请自行创建
[git@redis_master ~]$ ls -a
.  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  gitolite.tar.gz  .ssh  .viminfo

4、获取 Git 版本安装

[git@redis_master ~]$ git clone 
[git@redis_master ~]$ ls
gitolite.tar.gz                \\ 由于下载速度实在慢,本人使用了线上服务器 download 并打包传到自己的实验小鸡上面 
[git@redis_master ~]$ tar xf gitolite.tar.gz     \\ 解压缩
[git@redis_master ~]$ ls
gitolite  gitolite.tar.gz
  
========= 创建用户家目录及安装 gitolite
[git@redis_master ~]$ mkdir $HOME/bin
[git@redis_master ~]$ $HOME/gitolite/install -to $HOME/bin
[git@redis_master ~]$ ls . bin/
.:
bin  gitolite  gitolite.tar.gz
  
bin/:
commands  gitolite  gitolite-shell  lib  syntactic-sugar  triggers  VERSION  VREF

5、配置 Gitolite 管理员

[git@redis_master ~]$ ssh-keygen -t rsa  \\ 这条为 ssh 密钥生成命令,我这边已经有了就直接使用了
  
[git@redis_master ~]$ /home/git/bin/gitolite setup -pk .ssh/id_rsa.pub    \\ 使用管理员公钥安装 Gitolite
Initialized empty Git repository in /home/git/repositories/gitolite-admin.git/
Initialized empty Git repository in /home/git/repositories/testing.git/

6、生成管理员仓库 gitolite-admin

[git@redis_master ~]$ git clone git@127.0.0.1:gitolite-admin
Initialized empty Git repository in /home/git/gitolite-admin/.git/
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
RSA key fingerprint is 64:df:86:6c:e3:96:c3:52:80:a7:d8:af:27:4a:4c:80.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
[git@redis_master ~]$ ls
bin  gitolite  gitolite-admin  gitolite.tar.gz  projects.list  repositories

7、了解 gitolite-admin 仓库配置及 TortoiseGit 安装及秘钥生成

[git@redis_master ~]$ cd gitolite-admin/
[git@redis_master gitolite-admin]$ ls conf/ keydir/ .git/
conf/:
gitolite.conf
  
.git/:
branches  config  description  HEAD  hooks  index  info  logs  objects  packed-refs  refs
  
keydir/:
id_rsa.pub 

 7.1 .git 文件目录为 git 程序自动生成

 7.2 conf 名字上就知道是配置文件

 7.3 keydir 名字上也可以看出是存放 key 的文件目录

 7.4 TortoiseGit 安装及秘钥生成

 

7.2==================== 修改前 ============================
[git@redis_master gitolite-admin]$ cat conf/gitolite.conf 
repo gitolite-admin            \\ 这里就是定义我们之前第 6 点讲到的生成管理员仓库
    RW+     =   id_rsa        \\ 该 id_rsa 是我们之前安装用到的 id_rsa.pub 也是我们用来管控的账号,给名字可以重取,比如按照编号之类的
  
repo testing                   \\testing 为 project,系统自动会建立的一个测试的仓库
    RW+     =   @all           \\ 该 @all 用过 svn 的知道,这是一个输出组
===================== 修改后 ==============================
[git@redis_master gitolite-admin]$ vim conf/gitolite.conf 
  
#############=====Groups======##################
   @dev_rw = sunshine         \\ 我新增的用户 sunshine
  
  
repo gitolite-admin
    RW+     =   id_rsa
  
repo testing
    RW+     =   @all
  
repo dev
    RW+     =   @dev_rw        \\ 新增的输出组
 
 
7.3==================== 修改前 ============================
[git@redis_master gitolite-admin]$ ls keydir/
id_rsa.pub                \\ 改名字我们可以自定义,在 conf 配置的用户就是去掉 pub 后的名称
===================== 修改后 ==============================
[git@redis_master gitolite-admin]$ ls keydir/
id_rsa.pub  sunshine.pub   \\ 该秘钥使用 TortoiseGit 中的 PuTTYgen 生成,下面会介绍

 7.4 TortoiseGit 的安装及秘钥生成

进入 https://tortoisegit.org/download/ 官网下载对应版本

安装,就是下一步下一步。

7.4.1 使用 PuTTYgen 生成秘钥,点击 Genetate

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

7.4.2 鼠标记得要在 Please 下面的框框移来移去,不然你就等很久才能生成完毕,这类似我们生成 Linux ssh 生成敲打键盘一样

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

7.4.3 

 1、在 key comment 后面输入 sunshine 

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

 2、把 public 框框下面的公钥复制到我们之前在 keydir 目录下的 sunshine.pub 里面

[git@redis_master gitolite-admin]$ cat keydir/sunshine.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAgKGrcRSPcJE0o37svz0DqncT0cTyI9oGv8mmI9z00wSMumAq82gFdHC0xpVeFcdZQfNM7bsZlxGskEF7/W7p6P4Dc0RCiArcYaSWd0sj1+16ZQADARjFVzf5OBzQNy6OSbAKub/LS1fnl4W7Ad1Mq7wCAVpXzPWVINB3gbzecFekUJ42quqXju+/MtVIfipmEvsJnsOtCfUg5sHUFL7d0dBNgYhXoFPtpuFKS7ay/1dE9JPu83jUB+WkjW/VRIIMrXpAhHVfZ0W25B4cVS04TeNZuLlxAa4HdsI/CbEckzxYvdFDgTPhTqiVTMOFJwhzzUFCxGNlge4vfh1sZP14Ew== sunshine

 3、点击 Save private key 保存到我们指定的目录

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

7.5 在服务端执行如下命令

[git@redis_master gitolite-admin]$ git add conf/gitolite.conf              \\ 将 gitolite.conf 添加到暂存区
[git@redis_master gitolite-admin]$ git add keydir                           \\ 将 keydir 添加到暂存区
[git@redis_master gitolite-admin]$ git commit -m "New add sunshine.pub key and conf/gitolite.conf"    \\ 提交并说明内容
[master 9d8a7e7]  New add sunshine.pub key and conf/gitolite.conf
 Committer: git <git@redis_master.(none)>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
  
    git config --global user.name "Your Name"                               \\ 初次提价交要求填写相应用户名
    git config --global user.email you@example.com                           \\ 初次提交会要求填写 Email 地址
  
If the identity used for this commit is wrong, you can fix it with:
  
    git commit --amend --author='Your Name <you@example.com>'
  
 2 files changed, 8 insertions(+), 0 deletions(-)
 create mode 100644 keydir/sunshine.pub
[git@redis_master gitolite-admin]$ git config --global user.email "sunshineboysfz@51cto.com"        \\ 全局填写用户名
[git@redis_master gitolite-admin]$ git config --global user.name "sunshineboysfz"                    \\ 全局填写 Email 地址
[git@redis_master gitolite-admin]$ git push                                                           \\ 同步到 gitolite 中的 master 去
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 872 bytes, done.
Total 6 (delta 0), reused 0 (delta 0)
remote: Initialized empty Git repository in /home/git/repositories/dev.git/
To git@127.0.0.1:gitolite-admin
   2de3dc5..9d8a7e7  master -> master 

7.6 TortoiseGit 连接配置

  1、在 windows 目录(自己指定的地方)新建一个目录

  2、邮件该文件,点击 Git 克隆

  3、填写相应的信息,并且在加载 PuTTY 秘钥加载 7.4.3 的第三点,就是自己保持的私钥文件。最后点击确定

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

CentOS 6.7 下 Gitolite 服务搭建及 TortoiseGit 配置连接

至此,CentOS+TortoiseGit+gitolite 就搭建好啦,其实服务搭建看看就会,主要是使用。

更多 Git 教程系列文章

GitHub 使用教程图文详解  http://www.linuxidc.com/Linux/2014-09/106230.htm 

Git 使用图文详细教程  http://www.linuxidc.com/Linux/2016-11/136781.htm

Ubuntu Git 安装与使用 http://www.linuxidc.com/Linux/2016-11/136769.htm

Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm 

Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm 

Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm 

Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm 

Git 服务器搭建与客户端安装  http://www.linuxidc.com/Linux/2014-05/101830.htm 

Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm 

分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm 

Git 从入门到学会 http://www.linuxidc.com/Linux/2016-10/135872.htm

Git 基本操作详解 http://www.linuxidc.com/Linux/2016-10/135691.htm

Git 部署与常用基本命令详解   http://www.linuxidc.com/Linux/2017-06/144961.htm

分布式版本控制系统 Git 详细教程  http://www.linuxidc.com/Linux/2017-05/143747.htm

Git 的详细介绍:请点这里
Git 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145766.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6972字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7993141
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...