本文將介紹如何在Windows操作系統下搭建Git服務器和客戶端。服務器端采用的是Bonobo Git Server,一款用ASP.NET MVC開發的Git源代碼管理工具,界面簡潔,基於Web方式配置,簡單易用。客戶端是采用的TortoiseGit工具,UI操作,省去輸入命令的麻煩,對於windows用戶來說更易於使用。
所需軟件:
- Git服務器端:
- Git客戶端:
一:配置服務器端
以下案例服務器環境是基於Windows7 + IIS7 + Bonobo Git Server 3.4.3 + WebDAV ,其他版本的操作系統或IIS略有不同
Windows Server 2016 + IIS8 + Bonobo Git Server 6.3.0 已驗證可用,並更新了以下文檔
- 在Windows7下打開IIS7功能。開始-》控制面板-》程序-》打開或關閉windows功能,勾選Internet Information Services的選項。不會的可以谷歌或百度下。
- 下載最新版的Bonobo Git Server。這是一個.zip壓縮包文件,里面是用ASP.NET MVC開發的網站
- 解壓上步下載的壓縮包到C:\inetpub\wwwroot。
- 修改APP_Data文件夾權限。允許IIS用戶修改網站代碼中的(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data)文件夾,所以需要做如下配置:
- 在APP_Data文件夾上右鍵選擇“屬性”
- 到“Security”(安全)的Tab頁點擊“Edit”(編輯)
- 給IIS_IUSRS賦予Write和Modify權限。
- 轉換Bonobo.Git.Server目錄成應用模式。在IIS端做如下配置:
- 打開IIS管理界面,在默認網站下找到Bonobo.Git.Server文件夾.
- 右鍵鼠標Bonobo.Git.Server文件夾,單擊“轉換成應用”項(Convert to Application)
- 打開“WebDAV”功能。有的操作系統在“打開或關閉windows功能”上打開,有的是需要安裝,具體可以參考這里http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-webdav-on-iis#001
- 配置WebDAV。在IIS配置界面,選中Bonobo.Git.Server應用,在右側雙擊“WebDAVAuthoringRules”圖標,右鍵鼠標選擇添加一條Authoring Rule記錄,選中“All content”和“All Users”選項,點擊OK
- 【可選配置,如果出錯再配】安裝IIS的功能要全,如下方 五 解決方案 1
- 【可選配置,如果出錯再配】配置應用程序池版本。根據網站配置文件(C:\inetpub\wwwroot\Bonobo.Git.Server\App_Data\web.config)所使用的.netframework版本,下載對應的.netframework版本並安裝,把Bonobo.Git.Server網站的應用程序池版本號設為此.netframework版本。
- 啟動網站(http://localhost/Bonobo.Git.Server/)。默認用戶名+密碼:admin+admin
- 添加庫(Repository,相當於源代碼的一個項目父文件夾)項目名,
- 添加用戶(可以介入這個GitServer的所有用戶)
- 修改Repository,把剛添加的用戶添到這個項目的contributor和administrator里
- 復制Repository URL 來克隆代碼
- Git服務器端配置成功
二:配置客戶端
- 安裝msysgit。全部選擇默認安裝
- 安裝tortoisegit。全部選擇默認安裝
- 在客戶端上新建一個文件夾Simple。這個Simple文件夾就是你的開發工作目錄
- 右鍵Simple,點擊“Git Clone”。URL處填寫你的庫地址:http://10.175.29.43/Bonobo.Git.Server/Exam.git
- 點擊“OK”,會提示輸入用戶名和密碼。服務器代碼下載成功
- Git Client 配置成功
三:客戶端保存Git用戶名和密碼(兩種方式) 注:currentuser 代表當前登錄windows操作系統的賬戶名
方法1:增加如下內容到.gitconfig配置文件(C:\Users\currentuser\.gitconfig):
[credential] helper = store
方法2:把用戶名和密碼保存到文件中
1. 創建環境變量“HOME”,值設為“%USERPROFILE%”
2. 在菜單-》運行下輸入%HOME%,打開C:\Users\currentuser文件夾, 創建名為_netrc的文件,並輸入服務器,用戶名,密碼信息如下:
machine 10.175.29.43 login zhengshuangliang password 123456
3. 在同一目錄下(C:\Users\currentuser)創建一個bat文件,設置內容如下:
setx HOME %USERPROFILE% copy _netrc %USERPROFILE% pause
4. 執行bat文件
5. 之后再push git就不需要輸入用戶名和密碼了
四:注意
- TortoiseGit命令:“Git Clone...”是獲得遠程的版本庫,“Git Create repository here”是將選定的文件夾作為要創建的版本庫。
- 若在客戶端右鍵TortoiseGit中無法找到“Git Clone”選項,則先新建一個工作文件夾(如:Simple),右鍵選擇“Git create repository here”,重試。
- 客戶端找到以初始化好的Git文件夾,右鍵TortoiseGit,選擇Setting,找到Git-》Remote來配置遠程賬號信息
五:問題解決
- 網址啟動報錯:
- 報錯內容:
This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
- 解決方案:https://stackoverflow.com/questions/9794985/iis-this-configuration-section-cannot-be-used-at-this-path-configuration-lock

- 報錯內容:
