使用Gitblit 搭建Windows Git服務器
整理使用Gitblit搭建Git服務器的步驟。
目錄
下載安裝
配置
-
jdk配置
配置環境變量,略。 -
gitblit配置
參考官方文檔。修改gitblit安裝目錄下的data文件下的gitblit.properties。- 其中
include = defaults.properties
注釋掉,並添加include = my.properties
. - 從data文件夾下發現了defaults.properties文件,這是gitblit的默認配置,復制一遍該文件,並改名為上訴修改的配置名稱,我這里就是my.properties.
- 打開my.properties,主要修改以下幾點:
3.1. git.repositoriesFolder(資料庫路徑):這里改成自己新建的倉庫目錄路徑,不改默認為gitblit目錄下的git目錄.
3.2. server.httpPort:設定http協議的端口號。默認0表示禁用http協議.
3.3. server.httpBindInterface:設定服務器的IP地址。默認沒有內容,服務器本地可以通過localhost訪問,如果指定,則只能通過指定的ip地址訪問.
- 其中
運行
-
首次訪問
-
運行gitblit根目錄下的gitblit.cmd 批處理文件.
-
瀏覽器訪問.
-
輸入管理員賬號admin/admin登錄.
-
可以修改登錄密碼,建議修改.
-
-
創建版本庫
-
創建版本庫,點擊下拉菜單中的創建版本庫,或者頁面中版本庫進行管理.
-
輸入名稱,具體訪問策略與初始化內容默認,根據實際需求更改.
-
創建空的版本倉庫成功,頁面會有一些提示信息與命令,供用戶用於向倉庫中推送內容.
-
這里不使用管理員賬戶admin作推送,我們通過配置新的用戶,在用戶端(即客戶端)推送內容到倉庫。這也比較符合實際生產,admin賬戶只用來管理服務器站點,不參與實際業務。包括創建版本庫,以后也可以通過配置權限,向用戶授予權限。接下來創建一個用戶.
-
-
創建用戶
-
點擊下拉菜單中的用戶.
-
點擊右上角添加用戶,進入明細頁面,填寫常規信息.
-
屬性頁根據具體情況,填寫,可選.
-
訪問權限頁面,配置版本庫權限.
1).選擇版本庫,選擇test.git.
2).選擇具體權限,選擇R(克隆)(即讀權限),點擊添加.
3).創建成功.
4).另外再同樣的方式配置用戶test2,權限選擇為對test.git擁有RW(推送)權限,以及用戶test3,權限選擇為對test.git擁有RWC(推送,創建ref)權限.
-
客戶端運行
- 安裝git
- 本地安裝git,略.
- 配置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
需要指出的是這里並不需要與上面設置的test用戶信息相同,名稱與郵箱可用自己的賬號 - 訪問站點
1).使用管理員新建賬戶test登錄
版本庫中沒有內容,盡管admin配置了test倉庫,並給予了test賬戶克隆權限,但是由於test倉庫是一個空倉庫,所以這里並沒有顯示。
2).退出test,使用test2登錄
可以看到test版本庫,點擊進入,如admin賬戶創建版本庫之后的頁面一樣
嘗試使用提示的命令推送.
推送失敗,因為test2只有RW(推送)權限,並不具有創建的權限。具體的權限可以參考官方文檔.
3).瀏覽器退出test2,使用test3登錄
發現並不像test2登錄時,有提示信息和命令,這是由於test2的提交,導致版本庫生成了一些文件信息數據,大概620b,而提示信息和命令推薦只有在空版本庫時才會顯示。我們可以根據頁面上提供的ssh://test3@ip:29418/test.git,以及模仿test2的操作過程繼續命令行操作。
推送成功,瀏覽器刷新可以看到
3).瀏覽器退出test3,使用test2登錄,都能看到相同內容。接下來test可以通過克隆操作,下載版本庫內容。test2不僅可以克隆,也可以推送自己的修改。演示略.
其他
- https安全證書訪問。
- ssh無密碼克隆推送操作,主要操作就是客戶端命令行創建SSH Key,通過以下命令:
$ ssh-keygen -t rsa -C "youremail@example.com"
,然后到用戶主目錄下找到.ssh文件夾,下面生成了id_rsa和id_rsa.pub這兩個文件,將pub文件中的內容復制,上傳到Gitblit站點自己賬戶的->用戶中心->ssh,添加成功,則以后操作通過ssh://協議操作,則可以不用密碼。
參考
查閱及參考文章1.