2016年3月11日 星期五

Windows架設GIT server

這兩天因為工作上的需求
需要自己架設GIT server

上網找了一些文章,可是都有些資訊是比較舊的

就自己稍微整理了一下


這篇在說明使用http & https建立git環境
ssh還沒研究過

1.首先安裝GIT  http://git-scm.com/

我裝的是x64版本,跟x32版本可能會有些許不同,請自行注意

2.安裝 TortoiseGit https://tortoisegit.org/(你有自信用cmd操作的話也可以不用)


3.安裝Apache https://httpd.apache.org/ 

可以使用xampp又或著其他包含Apache的工具
IIS理論上也可以使用GIT,不過我沒研究過


4.建立管理空間

在這裡我放在 D:/GitRepos


5.修改Apache設定

開啟Apache裡面的httpd.conf檔案,找到
<Directory />
    ...
    ...
</Directory>

在後面加入


<Directory "D:/GitRepos">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
<Directory "X:/Program Files/Git/mingw64/bin">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

注意紅字部分
紅字部分是你的路徑設定
改完之後拉到最下面,在最後面加入以下內容
SetEnv GIT_PROJECT_ROOT D:/GitRepos
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAliasMatch \
        "(?x)^/git/(.*/(HEAD | \
                        info/refs | \
                        objects/(info/[^/]+ | \
                                 [0-9a-f]{2}/[0-9a-f]{38} | \
                                 pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
                        git-(upload|receive)-pack))$" \
"X:/Program Files/Git/mingw64/libexec/git-core/git-http-backend.exe/$1"

<Location /git>
AuthType Basic
AuthName "GIT Repository"
AuthUserFile "D:/GitRepos/htpasswd"
Require valid-user
</Location>


一樣,紅字部分是你自己的路徑
D:/GitRepos/htpasswd
這個是你的驗證檔,很重要


9.建立驗證檔

開啟CMD,進入Apache\bin的資料夾
輸入
htpasswd -cmb D:\GitRepos\htpasswd hello 1234
如果成功
他會出現
Adding password for user hello

此時就可以測試你以上的步驟有沒有成功

在D:\GitRepos 底下建立一個index.html,隨便輸入點內容

開啟瀏覽器,輸入 http://127.0.0.1/git
他會出現叫你輸入帳號密碼的視窗
此時輸入帳號 hello ,密碼 1234
登入之後出現你剛剛建立的index.html就代表你以上的步驟都完成了


10.建立Git Bash

在D槽,對著 GitRepos的資料夾按右鍵,選擇Git Bash,會出現Git 的console視窗

git init --bare project

他會建立一個名為project的git資料夾
此時在輸入三行指令

cd project
git update-server-info
touch daemon-export-ok

這樣你就可以建立外部連結了
如何測是有沒有成功?
開啟瀏覽器,輸入 http://127.0.0.1/git/project
如果有出現project裡面的資料列表,就代表成功了
你可以直接放你所要建立GIT的檔案進去


11. Git Clone

此時到你要使用的本地資料夾,點選滑鼠右鍵,按Gig Clone
URL 輸入 http://127.0.0.1/git/project
他會要你輸入帳號密碼
輸入帳號密碼之後,他會出現同步訊息,藍字出現就代表成功了



參考資料

額外閱讀(外部連結)

2 則留言:

  1. 您好, 依照您的步驟做, 當在瀏覽器輸入 http://127.0.0.1/git 及帳密後顯示 Object not found! 參考其他網站在 httpd.conf 增加 Alias /git "D:/GitRepos" 才成功

    回覆刪除
  2. 引言TWG 加在這

    Alias /git "D:/GitRepos"

    回覆刪除