版本控制的藝術 : 自建 Git Server - Gogs Web

更新 發佈閱讀 5 分鐘
不敗的系列文圖片

不敗的系列文圖片

-《版本控制的藝術 : Git 基礎篇》

-《版本控制的藝術 : Git 實務篇

在前兩篇文章中,簡單介紹了 Git 的基本應用與團隊協作技巧。這一篇要大家從零開始自建一個 Git Server。

你可能會想:「不是有 GitHub 或 GitLab 嗎?為什麼還要自己架設 Git Server?」有這樣的疑問很正常。不過,在沒有外網連線的環境下,像是內網的專案、敏感的資訊單位甚至是碩士班的研究室,自己建一個 Git Server 就會非常實用,確保資訊安全的同時,也能順利執行git pull git push 的日常操作,只要確認彼此間的防火牆有開放就能夠運作。

這次以 Gogs Web 作為 Git Server 的方案來做說明,其他還有類似的 Gitea 有興趣的讀者可以去看看。那就讓我們開始吧!


在開始流程之前有兩件事情要先做:

  1. 安裝 Git
  2. 安裝 Gogs Web

Git 安裝就不贅述了。另外 Gogs Web 安裝進入頁面之後選擇適合你的作業軟體版本,這邊以 Windows 版本來做介紹:

安裝 Gogs Web 壓縮檔

安裝 Gogs Web 壓縮檔

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

gogs 路徑

gogs 路徑

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

啟動 gogs web

啟動 gogs web

前往網頁 localhost:3000,會自動導向首次安裝頁面:

*如果有任何操作選錯了想要重來,把資料夾砍掉重新解壓縮就好

gogs 首次安裝

gogs 首次安裝

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

選擇 SQLite 3,路徑默認即可

選擇 SQLite 3,路徑默認即可

其他資料基本上都是默認選項,然後下一步,註冊新的帳號:

帳號註冊

帳號註冊

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

就這樣而已?沒錯!

就這樣而已?沒錯!

測試建立 repository 來推上我們的專案,點選右上 + 來建立,完成之後如下圖:

建立 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 的世界其實比我們想像的還要深,一步步探索下去,會發現不只是版本控制,更是一種開發思維的養成。

留言
avatar-img
Alan的沙龍
1會員
12內容數
不定期技術文章、旅遊、人生見解分享
Alan的沙龍的其他內容
2025/08/16
上一篇《版本控制的藝術:Git 基礎篇》介紹了 Git 的安裝與推送到遠端倉庫的基本操作。雖然這一篇名為「實務篇」,但其實並沒有太複雜的概念,主要是根據我的實務經驗,分享開發者 A 與我本人的協作過程,以及一些需要注意的事項。熟練這些操作後,基本上就能成為一名在 Git 方面合格的工程師了。
Thumbnail
2025/08/16
上一篇《版本控制的藝術:Git 基礎篇》介紹了 Git 的安裝與推送到遠端倉庫的基本操作。雖然這一篇名為「實務篇」,但其實並沒有太複雜的概念,主要是根據我的實務經驗,分享開發者 A 與我本人的協作過程,以及一些需要注意的事項。熟練這些操作後,基本上就能成為一名在 Git 方面合格的工程師了。
Thumbnail
2025/08/16
本篇文章介紹 Git 的基礎概念,從專案建立開始,一步步從建立專案並推送到遠端倉庫。掌握 Git 的基礎操作算是軟體工程師必備的能力。後續我們將在下篇文章中,進一步介紹 Git 的分支管理、協作流程及其他進階應用。​
Thumbnail
2025/08/16
本篇文章介紹 Git 的基礎概念,從專案建立開始,一步步從建立專案並推送到遠端倉庫。掌握 Git 的基礎操作算是軟體工程師必備的能力。後續我們將在下篇文章中,進一步介紹 Git 的分支管理、協作流程及其他進階應用。​
Thumbnail
2025/08/09
本篇實現幾種常見的使用模式: 1. Simple 2. Work Queue 3. Publ/Sub 4. Routing 5. Topic
Thumbnail
2025/08/09
本篇實現幾種常見的使用模式: 1. Simple 2. Work Queue 3. Publ/Sub 4. Routing 5. Topic
Thumbnail
看更多
你可能也想看
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
本篇文章介紹如何使用Git Bash進行版本控制操作,包括創建repository、查看狀態、歷程以及加入暫存和提交暫存等操作。透過基本的Git指令,您可以更深入地瞭解Git工具的使用方法。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
GitLab 是一個 DevOps、基於 Web 的免費開源平台 Git 儲存庫,為開發人員提供了所有必要的功能。它是一個用於開發 DevOps 應用程式的一體式平台。 GitLab 允許您執行原始碼管理、監控、安全性和專案規劃任務。 Update system packages: sudo
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
GitLab為程式碼管理倉庫,且從8.0開始提供CI/CD。 安裝 更新套件索引 sudo apt update 安裝postfix sudo apt install ca-certifi​cates curl openssh-server postfix 切換目錄 cd /t
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
在 Ubuntu 22.04 上使用 GitLab,請依照下列步驟操作。首先,使用nano文字編輯器開啟「gitlab.rb」檔案並尋找存取GitLab的URL: sudo nano /etc/gitlab/gitlab.rb 到下面的連結以使用 Ubuntu 22.04 上的 GitL
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
Thumbnail
這篇文章將介紹工程師使用版控和git的相關知識和技能,包括版本控制的意義和git的基本指令,以及開發流程和webhook的概念。
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
前言 上次我們講到 CI/CD 中的 when 使用,今天我們要來傳授一套必殺技,我們要把過去所學的全部融合再一起,相信各位都準備好了,將 Gitlab 從枷鎖中解放出來吧,讓我們來詠唱「武裝完全支配術」 「System Call. Connect Armament. Search Archiv
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
本文將介紹Gitlab與GitHub的差異,以及在本地環境部署Gitlab的流程與實作。文章內容包括版本管理系統的選擇,Gitlab的基本功能,以及使用Docker進行部署的詳細步驟。
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
Thumbnail
前言 今天我們要做一個初體驗,讓各位感受一下,在 GitLab CD/CD 的過程,我們今天使用官方提供的 Gitlab,如果您有自架 Gitlab ,也可以使用自架的 Gitlab 練習,我們這邊為了讓各位學習方便,所以使用官方提供的 Gitlab 作為練習,實際寫一個簡單的 CI/CD 腳本,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News