共计 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
7.4.2 鼠标记得要在 Please 下面的框框移来移去,不然你就等很久才能生成完毕,这类似我们生成 Linux ssh 生成敲打键盘一样
7.4.3
1、在 key comment 后面输入 sunshine
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 保存到我们指定的目录
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+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