程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 基於GitStack搭建本地的Git中心服務器

基於GitStack搭建本地的Git中心服務器

編輯:關於JAVA
 

在Git常用命令的使用情景中提到過多人協作的項目往往是需要一個中心服務器來同步多人之間的工作成果,另外,最終的工作成果通常也是中心服務器上的代碼為准(為了項目管理的需要),因此,備份時往往需要對中心服務器上的倉庫進行刻盤。
中心服務器上創建的項目倉庫一般為裸倉庫(沒有工作目錄),且需要為項目開發人員設置訪問和操作中心服務器上倉庫的權限(訪問、讀、寫)。
本文將介紹如何使用開源軟件GitStack在Windows上搭建Git中心服務器。
工具列表:
服務器端:GitStack 1.4.1,GitStack中已經集成了Git,可以不用再獨立安裝msysgit
客戶端:msysgit 1.7.10
下載並安裝GitStack
到其官方網站上下載最新版的GitStack 2.3.6。
安裝文件有100M,要注意的是,目前GitStack只支持下面幾個系統(不支持Windows XP):
Windows Server 2008
Windows Server 2008 R2
Windows Vista
Windows 7
另外,GitStack是一個新的開源軟件(可以看看release的歷史),目前有些功能可能還不是很完善,文檔也不是很全面,好在GitStack並不復雜。
安裝和普通的Windows軟件一樣,雙擊安裝包自動進行安裝,要注意的是最好其安裝路徑中不要包括空格,所以不建議安裝到C:\Program Files下,默認是安裝到C:\GitStack下。
安裝好GitStack後,下面主要就是配置GitStack和倉庫管理。
提醒一下,只需要在服務器上安裝GitStack即可,其他的客戶機上是不要安裝的。安裝好GitStack後,可以在任意機器上通過浏覽器登錄到Git服務器上(當然實際上只有倉庫的管理員才有權限登錄)。
GitStack的配置
在服務器上,可以通過開始菜單找到GitStack打開,也可以直接打開浏覽器,在地址欄裡輸入http://localhost/gitstack/打開登錄界面。
另外,也可以通過server機的IP地址來登錄,如server的IP地址為:192.168.0.105,則可以直接在浏覽器的地址欄中輸入http://192.168.0.105/gitstack/打開登錄界面(注意在客戶機上只能使用這種方式來打開登錄界面,通過ipconfig可以查看本機的IP地址)。
初始狀態下,默認的登錄賬戶為admin,登錄密碼也為admin。管理員登錄後可在Settings->General中修改admin的登錄密碼。
勾選Enable web based repository browsing選項開啟在浏覽器中直接查看Git倉庫的內容。
另外還有兩個Repositories和Users & Groups兩個界面,其中在Repositories中可以在服務器上創建項目的裸倉庫,直接輸入倉庫名(如輸入ProjectRepos),然後點擊Create按鈕即可(會在服務器C:\GitStack\repositories下創建一個ProjectRepos.git裸倉庫),創建好的倉庫也會在Repositories中顯示出來,並顯示出該倉庫的clone的地址git clone http://localhost/ProjectRepos.git,之後就可以在Action下通過浏覽器查看倉庫、添加用戶/Group並設置用戶/Group權限等。
在Users & Groups中,Users下是用來創建用戶或修改用戶密碼等,每個用戶對應一個Username和其Password,已有的用戶會在上面的列表中顯示出來;Groups下用於創建組,可以在每個Group下添加或移除用戶,已有的Group也會在列表中顯示出來。
牛刀小試
上述已經在服務器上創建了一個ProjectRepos.git裸倉庫,現在我們在服務器上來克隆該倉庫。
cd d:
mkdir project
cd project
git clone http://192.168.0.105/ProjectRepos LocalRepos 或 git clone http://localhost/ProjectRepos LocalRepos 或 git clone http://localhost:80/ProjectRepos LocalRepos
默認的是80端口,可以修改為其他端口。 這裡,會提示輸入用戶名和密碼,注意輸入的用戶名和密碼不會被顯示出來。
cd LocalRepos 進入了工作目錄,我們可以添加文件到工作區,並提交到本地倉庫中。
然後,將本地修改推送到服務器的倉庫裡:git push origin master,這裡會提示輸入用戶名和密碼,注意輸入的用戶名和密碼不會被顯示出來。 通過git remote -v,我們可以查看origin對應的服務器上的倉庫地址。
這時打開GitStack,可以看到服務器上倉庫有了提交的內容。
在客戶機上克隆服務器的倉庫到本地
先在客戶機上安裝msysgit 1.7.10。
cd d:
mkdir project
cd project
git clone http://192.168.0.105/ProjectRepos LocalRepos
這裡,會提示輸入用戶名和密碼,注意輸入的用戶名和密碼不會被顯示出來。
cd LocalRepos 進入了工作目錄,我們可以添加文件到工作區,並提交到本地倉庫中。
然後,將本地修改推送到服務器的倉庫裡:git push origin master,這裡會提示輸入用戶名和密碼,注意輸入的用戶名和密碼不會被顯示出來。 通過git remote -v,我們可以查看origin對應的服務器上的倉庫地址。
這時打開GitStack,可以看到服務器上倉庫有了提交的內容。
在客戶機上也可以打開GitStack,直接在浏覽器的地址欄中輸入http://192.168.0.105/gitstack/打開登錄界面,當然這需要知道管理員密碼。
(這裡要注意的是,要保證在客戶機上能夠成功打開GitStack或者從服務器上克隆倉庫,必須將服務器的防火牆關閉,否則在客戶機上的這些操作就會失敗。這個問題一直困擾了我好幾個小時。)
可見,服務器和客戶機在操作上已經沒有什麼區別了,這正是Git作為分布式版本控制系統的體現。

注意:GitStack的默認端口為80,可以進行修改,在Settings--General--Server Ports中修改Http port。如果修改後不記得修改的端口號了,可以查看:D:\GitStack\apache\conf\gitstack\listen.conf文件。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved