国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

詳解在Linux下搭建Git服務器

2024-09-05 23:03:43
字體:
來源:轉載
供稿:網友

眾所周知,版本系統在開發環境中是必不可少的,但是我們可以把代碼免費的托管到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

在Windows管理者機器上創建本地test倉庫,并上傳到git服務端

$ git config --global user.name "Your Name"     //第一次提交需要設置個人信息,設置用戶名和郵箱$ git config --global user.email "email@example.com"$ cd ~/repo $ mkdir test$ git init$ tocuh readme.txt

提交到遠程服務器

$ git add .$ git commit -a -m 'init test'$ git remote add repo git@192.168.186.129:test.git  //repo 遠程庫的名稱,可以換成任意名稱$ git push repo master  //上傳本地所有分支代碼到遠程對應的分支上

服務端會自動創建test倉庫

[git@repositories]# pwd/home/git/repositories[git@linuxprobe repositories]$ lsgitosis-admin.git test.git

5.添加其他git用戶開發者

由于公司開發團隊人數不斷增多,手動添加開發者私鑰到/home/git/.ssh/authorized_keys比較麻煩,通過上面的Windows機器的管理者統一收集其他開發者的私鑰id_rsa.pub文件,然后傳到服務器上,配置好后,用戶即獲得項目權限,可以從遠程倉庫拉取和推送項目,達到共同開發項目。

$ cd ~/gitosis-admin/keydir$ mv ~/id_rsa.pub zhangsan@SHA2-002.pub     //修改公鑰為主機名.pub$ vim gitosis.conf [group test] writable = test members = yueyong@SHA2-001 zhangsan@SHA2-002  //添加成員
$ git add .$ git commit -m "add zhangsan@SHA2-002 pub and update gitosis.conf"$ git push repo master

推送完成后,新加進來的開發者就可以進行項目的開發了,后續增加人員可以這樣添加進來,開發者直接把倉庫clone下來就可以了。

git clone git@192.168.34.184:/home/git/repositories/test.git

報錯問題:ERROR:gitosis serve main repository read access denied

根據這個報錯,可以看出key是沒問題的,通過排查,發現不應該把這個/home/git/repositories/test.git寫全,git clone git@192.168.34.184:test.git

這樣就可以了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 余江县| 平罗县| 九江县| 娄烦县| 大丰市| 寿宁县| 江门市| 县级市| 青田县| 名山县| 保山市| 日喀则市| 田东县| 永吉县| 北海市| 教育| 尚义县| 苍山县| 石嘴山市| 沙河市| 咸宁市| 隆昌县| 钦州市| 海城市| 勐海县| 衡阳县| 丽江市| 武隆县| 清涧县| 方正县| 大连市| 高淳县| 绵阳市| 合山市| 河源市| 白山市| 抚宁县| 凭祥市| 读书| 化隆| 茶陵县|