
不敗的系列文圖片
在前兩篇文章中,簡單介紹了 Git 的基本應用與團隊協作技巧。這一篇要大家從零開始自建一個 Git Server。
你可能會想:「不是有 GitHub 或 GitLab 嗎?為什麼還要自己架設 Git Server?」有這樣的疑問很正常。不過,在沒有外網連線的環境下,像是內網的專案、敏感的資訊單位甚至是碩士班的研究室,自己建一個 Git Server 就會非常實用,確保資訊安全的同時,也能順利執行git pull
git push
的日常操作,只要確認彼此間的防火牆有開放就能夠運作。
這次以 Gogs Web 作為 Git Server 的方案來做說明,其他還有類似的 Gitea 有興趣的讀者可以去看看。那就讓我們開始吧!
在開始流程之前有兩件事情要先做:
Git 安裝就不贅述了。另外 Gogs Web 安裝進入頁面之後選擇適合你的作業軟體版本,這邊以 Windows 版本來做介紹:

安裝 Gogs Web 壓縮檔
安裝完後解壓縮,可以放置到你想存放的任何地方,這邊放到 C 槽下比較好介紹:

gogs 路徑
接下來在該資料夾開啟 Git Bash cmd,輸入指令 ./gogs.exe web
,會看到一個警告訊息先不用理它, app.ini
檔是參數設定的地方,之後整個流程跑完才會出現:

啟動 gogs web
前往網頁 localhost:3000
,會自動導向首次安裝頁面:
*如果有任何操作選錯了想要重來,把資料夾砍掉重新解壓縮就好

gogs 首次安裝
這邊軟體新手非常建議選擇 SQLite 作為資料庫,它只會是一個 .db 檔,不需要去連接 SQL Server:

選擇 SQLite 3,路徑默認即可
其他資料基本上都是默認選項,然後下一步,註冊新的帳號:

帳號註冊
註冊完之後登入就完成了!

就這樣而已?沒錯!
測試建立 repository 來推上我們的專案,點選右上 + 來建立,完成之後如下圖:

建立 repository
這裡顯示的 HTTP 位址,就是我們的遠端儲存庫路徑囉!請特別注意,如果是內網中的其他夥伴要連線使用,記得把 localhost
改成實際的 IP 位址,這樣才能正確存取。
至於功能方面,Gogs 提供的操作介面和大家熟悉的 GitHub、GitLab 大致相同,該有的功能幾乎都有,大概有 87% 像,放心使用就對了!
再來我們把自己本地的專案推送上去測試:
git push 你的遠端倉庫網址 master
會出現彈窗讓你輸入帳號密碼:

身分驗證
輸入完之後可以發現你下的指令已經成功了!接下來到頁面上刷新:

成功推送專案
怎麼樣,是不是流程超簡單?以上就是自建 Git Server 的完整步驟,基本上花不到十分鐘就能搞定!
無論是公司內部的團隊合作,還是你現在還是學生、想要自己架設練習環境,都非常適合。不僅能提升對 Git 背後運作方式的理解,也多了一點動手實作的樂趣 — 這不就是我們軟體工程師最享受的事嗎?
再來聊個題外話。有些人可能會覺得中文介面看起來有點「刺眼」,畢竟都是軟體工程師,看中文也太 Low (XD)。
在一開始的地方有提到,建立完流程後會出現 app.ini
的參數設定檔,該檔的位置在 \gogs\custom\conf\app.ini
,進入之後會看到一堆參數,我們在空白處新增:
[i18n]
LANGS = en-US
NAMES = English
接著,把 Gogs Web 服務中止(注意:不是關掉瀏覽器頁面喔!而是停止 Git Bash 或命令列裡正在執行的 Gogs 程式),然後重新啟動 Gogs。
重新啟動後就能看到英文介面了:

英文介面
希望大家喜歡這一系列的 Git 教學,如果對你有一點點幫助,那就很值得了。未來我也會持續補充更多進階技巧與實務應用,讓這個系列更完整。
Git 的世界其實比我們想像的還要深,一步步探索下去,會發現不只是版本控制,更是一種開發思維的養成。