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


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


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

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


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

[root@redis_master~]#yumgroupinstall"Developmenttools"\\安装下开发工具,也不是一定要装,只不过自己习惯装起来
===============\\安装依赖包=====================
[root@redis_master~]#yuminstallcurl-develexpat-develgettext-developenssl-develzlib-develperl-devel

2、安装Git

[root@redis_master~]#yuminstallgit

3、创建Git用户

[root@redis_master~]#useraddgit
\\切换到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.bashrcgitolite.tar.gz.ssh.viminfo

4、获取Git版本安装

[git@redis_master~]$gitclone
[git@redis_master~]$ls
gitolite.tar.gz\\由于下载速度实在慢,本人使用了线上服务器download并打包传到自己的实验小鸡上面
[git@redis_master~]$tarxfgitolite.tar.gz\\解压缩
[git@redis_master~]$ls
gitolitegitolite.tar.gz

=========创建用户家目录及安装gitolite
[git@redis_master~]$mkdir$HOME/bin
[git@redis_master~]$$HOME/gitolite/install-to$HOME/bin
[git@redis_master~]$ls.bin/
.:
bingitolitegitolite.tar.gz

bin/:
commandsgitolitegitolite-shelllibsyntactic-sugartriggersVERSIONVREF

5、配置Gitolite管理员

[git@redis_master~]$ssh-keygen-trsa\\这条为ssh密钥生成命令,我这边已经有了就直接使用了

[git@redis_master~]$/home/git/bin/gitolitesetup-pk.ssh/id_rsa.pub\\使用管理员公钥安装Gitolite
InitializedemptyGitrepositoryin/home/git/repositories/gitolite-admin.git/
InitializedemptyGitrepositoryin/home/git/repositories/testing.git/

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

[git@redis_master~]$gitclonegit@127.0.0.1:gitolite-admin
InitializedemptyGitrepositoryin/home/git/gitolite-admin/.git/
Theauthenticityofhost'127.0.0.1(127.0.0.1)'can'tbeestablished.
RSAkeyfingerprintis64:df:86:6c:e3:96:c3:52:80:a7:d8:af:27:4a:4c:80.
Areyousureyouwanttocontinueconnecting(yes/no)?yes
Warning:Permanentlyadded'127.0.0.1'(RSA)tothelistofknownhosts.
remote:Countingobjects:6,done.
remote:Compressingobjects:100%(4/4),done.
remote:Total6(delta0),reused0(delta0)
Receivingobjects:100%(6/6),done.
[git@redis_master~]$ls
bingitolitegitolite-admingitolite.tar.gzprojects.listrepositories

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

[git@redis_master~]$cdgitolite-admin/
[git@redis_mastergitolite-admin]$lsconf/keydir/.git/
conf/:
gitolite.conf

.git/:
branchesconfigdescriptionHEADhooksindexinfologsobjectspacked-refsrefs

keydir/:
id_rsa.pub


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

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

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

7.4 TortoiseGit安装及秘钥生成

7.2====================修改前============================
[git@redis_mastergitolite-admin]$catconf/gitolite.conf
repogitolite-admin\\这里就是定义我们之前第6点讲到的生成管理员仓库
RW+=id_rsa\\该id_rsa是我们之前安装用到的id_rsa.pub也是我们用来管控的账号,给名字可以重取,比如按照编号之类的

repotesting\\testing为project,系统自动会建立的一个测试的仓库
RW+=@all\\该@all用过svn的知道,这是一个输出组
=====================修改后==============================
[git@redis_mastergitolite-admin]$vimconf/gitolite.conf

#############=====Groups======##################
@dev_rw=sunshine\\我新增的用户sunshine


repogitolite-admin
RW+=id_rsa

repotesting
RW+=@all

repodev
RW+=@dev_rw\\新增的输出组
7.3====================修改前============================
[git@redis_mastergitolite-admin]$lskeydir/
id_rsa.pub\\改名字我们可以自定义,在conf配置的用户就是去掉pub后的名称
=====================修改后==============================
[git@redis_mastergitolite-admin]$lskeydir/
id_rsa.pubsunshine.pub\\该秘钥使用TortoiseGit中的PuTTYgen生成,下面会介绍


7.4 TortoiseGit的安装及秘钥生成

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

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


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

wKiom1fzKETz9U32AABQDMyTeh0120.png-wh_50

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

wKiom1fzKWLCmGvKAABnz2KXd4c774.png-wh_50



7.4.3

1、在key comment后面输入 sunshine

wKioL1fzKfKwY7wSAACS_KUtsi8662.png-wh_50

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

[git@redis_mastergitolite-admin]$catkeydir/sunshine.pub
ssh-rsaAAAAB3NzaC1yc2EAAAABJQAAAQEAgKGrcRSPcJE0o37svz0DqncT0cTyI9oGv8mmI9z00wSMumAq82gFdHC0xpVeFcdZQfNM7bsZlxGskEF7/W7p6P4Dc0RCiArcYaSWd0sj1+16ZQADARjFVzf5OBzQNy6OSbAKub/LS1fnl4W7Ad1Mq7wCAVpXzPWVINB3gbzecFekUJ42quqXju+/MtVIfipmEvsJnsOtCfUg5sHUFL7d0dBNgYhXoFPtpuFKS7ay/1dE9JPu83jUB+WkjW/VRIIMrXpAhHVfZ0W25B4cVS04TeNZuLlxAa4HdsI/CbEckzxYvdFDgTPhTqiVTMOFJwhzzUFCxGNlge4vfh1sZP14Ew==sunshine

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

wKioL1fzKfKwY7wSAACS_KUtsi8662.png-wh_50



7.5 在服务端执行如下命令

[git@redis_mastergitolite-admin]$gitaddconf/gitolite.conf\\将gitolite.conf添加到暂存区
[git@redis_mastergitolite-admin]$gitaddkeydir\\将keydir添加到暂存区
[git@redis_mastergitolite-admin]$gitcommit-m"Newaddsunshine.pubkeyandconf/gitolite.conf"\\提交并说明内容
[master9d8a7e7]Newaddsunshine.pubkeyandconf/gitolite.conf
Committer:git<git@redis_master.(none)>
Yournameandemailaddresswereconfiguredautomaticallybased
onyourusernameandhostname.Pleasecheckthattheyareaccurate.
Youcansuppressthismessagebysettingthemexplicitly:

gitconfig--globaluser.name"YourName"\\初次提价交要求填写相应用户名
gitconfig--globaluser.emailyou@example.com\\初次提交会要求填写Email地址

Iftheidentityusedforthiscommitiswrong,youcanfixitwith:

gitcommit--amend--author='YourName<you@example.com>'

2fileschanged,8insertions(+),0deletions(-)
createmode100644keydir/sunshine.pub
[git@redis_mastergitolite-admin]$gitconfig--globaluser.email"sunshineboysfz@51cto.com"\\全局填写用户名
[git@redis_mastergitolite-admin]$gitconfig--globaluser.name"sunshineboysfz"\\全局填写Email地址
[git@redis_mastergitolite-admin]$gitpush\\同步到gitolite中的master去
Countingobjects:10,done.
Deltacompressionusingupto4threads.
Compressingobjects:100%(5/5),done.
Writingobjects:100%(6/6),872bytes,done.
Total6(delta0),reused0(delta0)
remote:InitializedemptyGitrepositoryin/home/git/repositories/dev.git/
Togit@127.0.0.1:gitolite-admin
2de3dc5..9d8a7e7master->master


7.6 TortoiseGit连接配置

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

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

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

wKiom1fzLZjQFddqAABpt0QlKB0288.png-wh_50

wKioL1fzLkuB_PR3AABm9vd_rco822.png-wh_50

wKioL1fzMETDByPsAADKhNVMrAs360.png-wh_50

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

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 B...