咳咳~好几天没写博文啦,这几天都在研究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/
[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.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
7.4.2 鼠标记得要在Please 下面的框框移来移去,不然你就等很久才能生成完毕,这类似我们生成Linux ssh生成敲打键盘一样
7.4.3
1、在key comment后面输入 sunshine
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 保存到我们指定的目录
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目录(自己指定的地方)新建一个目录
3、填写相应的信息,并且在加载PuTTY秘钥加载7.4.3的第三点,就是自己保持的私钥文件。最后点击确定
至此,CentOS+TortoiseGit+gitolite就搭建好啦,其实服务搭建看看就会,主要是使用。