眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的托管到GitHub上,如果我們不原意公開項目的源代碼,公司又不想付費使用,那么我們可以自己搭建一臺Git服務器,可以用Gitosis來管理公鑰,還是比較方便的。
搭建環境:
服務器 CentOS6.6 + git(version 1.8.3.1)
客戶端 Windows10 + git(version 2.11.1.windows.1)
1. 安裝Git相關軟件
Linux是服務器端系統,Windows作為客戶端系統,分別安裝Git
安裝服務端:
[root@linuxprobe ~]# yum install -y git[root@localhost ~]# git --version //安裝完后,查看 Git 版本git version 1.8.3.1
安裝客戶端:
下載 Git for Windows,地址:https://git-for-windows.github.io/
安裝完之后,可以使用Git Bash作為命令行客戶端。
$ git --versiongit version 2.11.1.windows.1 //安裝完之后,查看Git版本
安裝Gitosis
[root@linuxprobe ~]# cd software/[root@linuxprobe software]# git clone https://github.com/res0nat0r/gitosis.git[root@linuxprobe software]# yum install python-setuptools -y[root@linuxprobe software]# cd gitosis[root@linuxprobe gitosis]# sudo python setup.py install
出現下面的信息表示安裝成功了
Using /usr/lib/python2.6/site-packages Finished processing dependencies for gitosis==0.2
2. 服務器端創建git用戶來管理Git服務
[root@linuxprobe ~]# id git //查看git用戶是否存在id: git: no such user[root@linuxprobe ~]# useradd git[root@linuxprobe ~]# echo "123" | passwd --stdin git[root@linuxprobe ~]# su - git //切換到git用戶下
3. 配置公鑰
在Windows上配置管理者,git服務器需要一些管理者,通過上傳開發者機器的公鑰到服務器,添加成為git服務器的管理者,打開git命令行
$ ssh-keygen -t rsa //一直回車,不需要設置密碼~ scp ~/.ssh/id_rsa.pub git@192.168.34.184:~ //復制到git服務器上
4. 配置gitosis
使用git用戶并初始化gitosis
[root@linuxprobe ~]# cd .ssh[root@linuxprobe ~]# gitosis-init < ./id_rsa.pubInitialized empty Git repository in /home/git/repositories/gitosis-admin.git/Reinitialized existing Git repository in /home/git/repositories/gitosis-admin.git/[root@linuxprobe ~]# chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update //添加權限
在Windows上機器上clone gitosis-admin到管理者主機
$ git clone ssh://git@192.168.34.184:22/gitosis-admin.git$ cd gitosis-admin$ ls$ gitosis.conf keydir
gitosis.conf: git服務器配置文件
keydir: 存放客戶端公鑰
配置gitosis.conf文件
$ vim gitosis.conf[gitosis][group gitosis-admin] #組名稱members = yueyong@SHA2-001 #組成員writable = gitosis-admin #項目名稱[group test] //這里添加了"test"項目組,上傳到個git服務器members = yueyong@SHA2-001writable = test
新聞熱點
疑難解答