喬丹丹 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是否可以正常連線上伺服器端
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 使...