Git服務如今獨樹一幟,相比與SVN有更多的靈活性,最流行的開源項目託管網站Github上面,若是託管開源項目,那麼就是無償使用的,可是閉源的項目就會收取昂貴的費用,若是你不缺錢,能夠跳過。html
Windows平臺下Git服務器搭建git
略。瀏覽器
下載地址:http://www.gitblit.com/。下載後的軟件直接解壓便可,無需安裝。安全
解壓文件目錄可自行設置。服務器
建立用於存儲資料的文件夾。ssh
參考官方文檔。修改gitblit安裝目錄下的data文件下的gitblit.properties。網站
include = defaults.properties
註釋掉,並添加include = my.properties
. 從data文件夾下發現了defaults.properties文件,這是gitblit的默認配置,複製一遍該文件,並更名爲上訴修改的配置名稱,我這裏就是my.properties.spa
3.2. server.httpPort:設定http協議的端口號。默認0表示禁用http協議. .net
運行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 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不只能夠克隆,也能夠推送本身的修改。演示略.
$ ssh-keygen -t rsa -C "youremail@example.com"
,而後到用戶主目錄下找到.ssh文件夾,下面生成了id_rsa和id_rsa.pub這兩個文件,將pub文件中的內容複製,上傳到Gitblit站點本身帳戶的->用戶中心->ssh,添加成功,則之後操做經過ssh://協議操做,則能夠不用密碼。