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

这几天都在研究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 [email protected]: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 

http://s4.51cto.com/wyfs02/M02/88/5B/wKioL1fzKfKwY

 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 保存到我们指定的目录

http://s4.51cto.com/wyfs02/M02/88/5B/wKioL1fzKfKwY

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 [email protected]                           \\初次提交会要求填写Email地址
  
If the identity used  for  this commit is wrong, you can fix it with:
  
    git commit --amend --author= 'Your Name <[email protected]>'
  
  2 files changed, 8 insertions(+), 0 deletions(-)
  create mode 100644 keydir /sunshine .pub
[git@redis_master gitolite-admin]$ git config --global user.email  "[email protected]"        \\全局填写用户名
[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 [email protected]: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配置连接

更多 Git 教程系列文章: 

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

猜你喜欢

转载自www.linuxidc.com/Linux/2017-07/145766.htm
今日推荐