簡單Git Server搭建及其測試

2021-07-04 12:30:55 字數 2939 閱讀 5202

喬丹丹 2015/8/11

環境:imac       版本:10.10.3(客戶端)

macpro     版本:10.10.3(伺服器)

思路:選擇一台macpro作為伺服器端,搭建伺服器,實現其他的客戶端通過ssh機制訪問伺服器端,實現客戶端commit,push**到伺服器端的**倉庫,其他客戶端也可以pull**到本地,這樣既實現了便捷管理**也滿足了企業**放在自己的伺服器上的需求。

1、通過system preferences->accounts 新增乙個賬戶,其他客戶端通過這個賬戶來訪問伺服器。(這一步驟也可以不進行,不建立賬戶的話,客戶端都是通過伺服器端的預設賬戶來訪問伺服器的。)

2、使用新建立的賬戶登入伺服器,在systempreferences->sharing

勾選該賬戶下的:websharing 和remote logig。

在這裡(

gitosis

安裝gitosis,進入gitosis目錄,使用指令sudopython setup.py install 安裝gitosis.

cd gitosis/

sudo python setup.py install

1、        在客戶端,做作ssh公鑰。

cd ~


ssh-keygen -t rsa


至此,就已經生成了公鑰

cd .ssh

ls
檢視公鑰,我們將客戶端的公鑰拷貝到伺服器端

2、在伺服器端,將公鑰追加新增到authorized_keyswen檔案中。

cp id_rsa.pub /tmp/ yourame .pub

這條指令將公鑰拷貝到了tmp目錄下yourname可以替換成客戶端對應的名字

sudo -h -u gitgitosis-init < /tmp/yourname.pub

這條指令,使用ssh公鑰初始化了gitosis

cd ~

cd .ssh

ls 執行到這裡,可以看到authorizedl_keys檔案。

catid_rsa.pub>>authorized_keys

這條指令實現了把客戶端的公鑰追加到authorized_keys檔案中。

(如果修改了檔案名字,指令應該是cat yourname.pub>>authorized_keys)

1、然後開啟authorized_keys稍作修改

open –e authorized_keys

就開啟了檔案,將ssh之前的那段"command="gitosis-serveyourname",no-port-forwarding,no-x11-forwarding,no-agent-forwarding,no-pty" 刪掉,剩餘的就是ssh公鑰。儲存退出。

4、對post-update賦予可寫許可權,以便客戶端可以提交更改。

sudo chmod 755/users/git/repositories

會提示輸入密碼,輸入密碼之後

cd ~

cdrepositories/

ls 會檢視到gitosis-admin.git資料夾

2、修改git賬戶的path路徑

touch ~/.bashrc

echopath=/usr/local/bin:/usr/local/git/bin:\$path > .bashrc

echo exportpath >> .bashrc


cat .bashrc


在每個客戶端,要設定git的config資訊,這樣git才能識別who you are。否則會在你提交的時候提示你,tell me who youare。

git config--global user.name "yourgitname"

globaluser.email "[email protected]"

注意:此處的email必需是與你剛才產生公鑰的那個email是一致的。這樣子才能通過生成的公鑰來實現訪問伺服器端。

1、測試通過ssh是否可以正常連線上伺服器端

[email protected]

git是伺服器端你設定的那個帳號,如果沒有新設定帳號,那麼就應該是你伺服器機子預設的使用者的名字,@後面是伺服器的ip位址。登入成功之後,終端使用者名稱字就會變成伺服器端的名字。

2、        在本地clone伺服器倉庫

git clone [email protected]:repositories/gitosis-admin.git

第二個git替換成伺服器相應的使用者名稱,ip換成相應的伺服器的ip,成功 clone 伺服器的 gitosis-admin 倉庫至本地

在gitosis-admin中新增專案進行commit,push,pull下來**等操作。

伺服器端: qiaodan macpro

客戶端1:   qiaodandan imac

客戶端2:   gaoqinghua imac

實現:1、        開啟乙個檔案在,在這個位置,終端執行操作,clone下來**倉庫。圖示:

2、        在相應的**倉庫位置建立專案進行操作,圖示**倉庫位置:

3、        客戶端2建立乙個專案,commit到本地,push到伺服器qiaodan macpro。

4、        操作之前可能會要求輸入密碼,如圖所示:

5、        客戶端1 pull下客戶端1的**。

6、        修改追加**,commit到本地,push到伺服器。

7、        客戶端2 pull最新**成功。如圖:

8、        客戶端1建立乙個branch qd分支,進行**分支編寫,commit到本地,push到伺服器。

9、        客戶端2在原來**上進行修改,commit到本地,push到伺服器。

10、    然後客戶端2進行兩個**分支的合併,merge操作,提供有左邊,右邊,先左後右,先右後左四種選擇。根據實際情況,進行合併。如圖所示:

git 搭建最簡單的git server

以下操作都在 centos7 下進行,但同樣適用於centos 6。1.安裝git core yum y install git 新增git使用者,用於啟動管理git倉庫 useradd git passwd git 2.客戶端機器的公鑰新增入git 伺服器的 home git ssh author...

搭建Windows下的Git Server

由於gitlab不支援windows,於是選擇了gitblit,官網 gitblit.com.修改data gitblit.properties 新增以下內容 倉庫位址 git.repositoriesfolder e gitrepositoies 伺服器名 web.sitename gitserv...

在Ubuntu上搭建Git server

在ubuntu系統上搭建git server主要包含以下幾個步驟 1 安裝openssh ubuntu sudo apt get install openssh server2 安裝git ubuntu sudo apt get install git git core3 安裝gitosis 1 使...