GitHub Repo 是什麼?給非工程師的 Git 版控入門
給新手的 GitHub Repo 入門指南。一次搞懂 Git、Repo、GitHub 的層級差異,學會 commit、branch、merge、clone、pull request 等基本操作,補上 README、.gitignore、LICENSE 三個關鍵檔案,把專案收攏成可檢視、可還原的版本控制基地。
作者:褚崇名(Sliven)
本頁目錄
- 先給結論:Repo 到底是什麼,跟雲端硬碟的資料夾差在哪
- 為什麼 AI 寫程式時代,連內容、行銷、研究團隊都得認識 Repo
- Git、GitHub 與 Repo:三個常被搞混的名字先分清楚
- 拆開一個 Repo:裡面到底裝了哪些東西
- Branch、Commit、Merge、Pull Request:四個會嚇到新手的名詞,白話講一遍
- Clone、Fork、Star:拿到別人 Repo 的三種姿態
- Public 還是 Private:什麼時候該公開、什麼時候該關起來
- README 怎麼寫才有人看得懂:給非工程師的實用架構
- .gitignore、大檔案與地雷:別把個資和金鑰推上去
- LICENSE 怎麼選:開源不代表別人可以隨便拿去賣
- 把 Repo 當成公開作品集
- 非工程團隊上線 Repo 的六步清單
先給結論:Repo 到底是什麼,跟雲端硬碟的資料夾差在哪
GitHub repo(repository,中文常翻成「倉庫」或「儲存庫」),可以把它想成一個「保留修改歷史的專案資料夾」。它裡面裝的不只是檔案;每次提交還能記下作者、時間與內容差異。雲端硬碟也可能提供版本紀錄與即時協作,但 Git 擅長的是逐行差異、分支、合併與可追溯的提交紀錄。
很多人第一次碰 repo,都會問同一個問題:我現在用雲端硬碟的共用資料夾也用得好好的,為什麼要換?看三件事就夠了:專案會不會持續擴大、會不會有多人同時修改、需不需要精確回到某次變更。需求以共同編輯文件為主時,雲端硬碟可能更順手;需要審查差異、分支實驗與合併流程時,repo 才會顯出優勢。
一個更精準的官方定義是這樣的:在 GitHub 上,一個 repository 包含了你專案的所有檔案與它們完整的修訂歷史,你可以把它設成公開或私有,也可以邀請其他人一起協作。重點是「完整的修訂歷史」這七個字,這是 repo 的靈魂,也是下面所有觀念的地基,後面談到的每一個功能,追根究柢都是在服務這七個字(定義出自 GitHub Docs 的 About repositories)。
為了讓你一眼看懂差異,我整理了一張對照表:
| 比較項目 | 雲端硬碟共用資料夾 | GitHub Repo |
|---|---|---|
| 誰改了什麼 | 依服務與檔案類型提供活動或版本紀錄 | 每次提交可查看作者、時間與逐行差異 |
| 回到舊版本 | 部分服務支援版本紀錄 | 可依提交紀錄檢視或還原版本 |
| 兩人同時改同一份 | 適合即時共同編輯支援的文件 | 可用 branch 平行修改,再審查與合併 |
| 討論改動內容 | 通常用留言或外部通訊工具 | 可在 Pull Request 裡逐行評論 |
| 提供 AI 上下文 | 視工具整合與檔案權限而定 | 支援 repo 的工具可讀取專案結構與檔案 |
| 長期資產累積 | 仰賴團隊自行維持命名與資料夾結構 | 提交、分支與審查紀錄有助保留脈絡 |
如果你看完這張表,心裡浮現「可是我不會寫程式」,放心,這篇就是寫給你的。現在的 repo 操作門檻,已經被 AI 工具壓到貼近一般辦公軟體了,這點後面會展開。
repo 也不是只能裝程式碼。內容企劃、文件與品牌風格手冊等文字型素材,只要需要追蹤修改、多人審查,就可能適合放進 repo。大型二進位檔與需要即時共同編輯的文件未必適合,仍要依檔案類型選工具。
為什麼 AI 寫程式時代,連內容、行銷、研究團隊都得認識 Repo
repo 過去主要由工程團隊使用;隨著 Vibe Coding 與AI 寫程式代理普及,它也成為提供專案上下文的工作區。工具能讀取的範圍仍取決於權限與設定,但完整的檔案結構、命名規則與文件,通常比零散貼入片段更容易判讀。
repo 對 AI 工具的價值,有點像是提供一份結構化的專案記憶。輸出品質除了受模型能力影響,也取決於工具實際能讀取的檔案、權限、指令與專案脈絡;repo 能把這些資訊集中管理,但不保證結果正確。
非工程團隊也能把 repo 設為共同專案的單一事實來源(single source of truth)。前提是團隊明確約定哪裡是定稿、哪些檔案不進版控,才能減少「哪一版才是最新」的爭議。
對行銷與內容工作者來說,還有兩個更實際的理由:
- 提供較完整的 AI 上下文。把品牌資料、產品規格與風格手冊放在工具可讀取的位置,能降低因缺少上下文造成的錯誤,但不能保證消除 AI 幻覺。
- 讓公開成果有被發現的機會。公開 repo 可能出現在搜尋結果中;是否被收錄與排序仍由搜尋引擎決定。對作品集而言,提交紀錄也能補充 PDF 不容易呈現的製作脈絡。
repo 不再只是工程團隊的工具。當專案需要長期維護、審查變更,或要提供完整上下文給支援 repo 的 AI 工具時,理解基本版控流程會很有幫助。
Git、GitHub 與 Repo:三個常被搞混的名字先分清楚
這三個名詞每天都在工程師對話裡出現,但它們指的不是同一件事。先把這層分清楚,後面所有觀念你才不會越讀越糊塗。我用一個比喻一次講完:Git 是工具,repo 是那個工具管理的對象,GitHub 是存放這些對象的雲端平台。
Git 是一套版控「軟體」,安裝在你電腦裡,負責追蹤檔案變更、計算差異與合併分支。它可以透過 命令列(CLI)或圖形介面操作。Git 本身能離線運作,不連上網也能在本機做版控。
Repo 是 Git 管理的「那一個專案資料夾」。你的電腦裡可以有一份本機 repo,伺服器上也可以有一份遠端 repo,兩者之間用推送與拉取同步。前面那些 commit、branch、歷史紀錄,全都屬於 repo 這個層次。
GitHub 則是提供遠端 repo 託管與協作功能的平台之一。你在 GitHub 上看到的個人頁、star 數、Pull Request 介面,都是平台提供的功能,並不是 Git 本身內建的。
| 名詞 | 本質 | 白話比喻 |
|---|---|---|
| Git | 版控軟體 | 記帳的本事與方法 |
| Repo | 被版控的專案 | 那本正在記的帳本 |
| GitHub | 放 repo 的雲端平台 | 幫你保管帳本、還能借閱的圖書館 |
搞懂這層差別,你會開始聯想得到一個常見疑問的答案:我可不可以只在自己電腦上用 Git,完全不碰 GitHub?答案是「可以」。很多人為了寫一本書、整理一份長期研究筆記、甚至管理自己的讀書摘錄,就在本機裝 Git、開 repo,享受版控的「無限復原」與「分支實驗」紅利,從來不打算公開。GitHub 對這種用法來說,只是一個「把本機備份上雲」的選項,不是必要條件。反過來也成立,你人在 GitHub 上看得到別人的 repo,是因為對方先把本機的成果推送上去,這個「推上去」的動作才讓它從本機 repo 變成遠端 repo。
三個名詞分清楚之後,你會開始聽得懂工程師在抱怨什麼。他們說「這個 bug 是 git 的問題」,是指那套版控軟體;他們說「開個 PR 給我」,是在請你用 GitHub 平台的審查功能;他們說「這個 repo 太肥」,是在講那個專案本身。三件事,三個層次,搞混就會難以溝通。
拆開一個 Repo:裡面到底裝了哪些東西
要理解 repo,最快的方法是把它想像成你正在裝潢一間房子。房子本身是那個專案,但一個能住人的房子,從來就不只是四面牆。
打開一個典型的 repo,你大概會看到這幾類東西:
- 專案檔案本體:程式碼、文案、設計稿、資料表,任何這個專案需要的素材。它們可以放在子資料夾裡分類,跟你電腦裡的資料夾邏輯一樣。
- README:寫在 repo 首頁的「使用說明書」,告訴訪客這是什麼專案、怎麼跑起來。它就是這間房子的門牌與玄關。
- .gitignore:一份「不要追蹤」的清單,可把暫存檔與本機設定排除在版本控制之外。它不是保密或存取控制機制;敏感資料本來就不應提交。
- LICENSE:宣告別人可以怎麼使用你這個專案的授權條款。沒有它,別人在法律上其實不能亂用你的成果。
- commit 歷史:一串有時間戳的「存檔點」紀錄,每一個存檔點都寫著改了什麼、為什麼改。這是 repo 跟一般資料夾最關鍵的差異。
- Issues 與 Pull Requests: Issues 像便利貼牆,記錄待辦與臭蟲;Pull Requests(簡稱 PR)是「我改好了,請別人檢查再合併」的交班單。這兩個讓一群人能有序地一起動手。
把這些拼起來,你會發現 repo 其實是一個「有記憶、有門牌、有規矩的協作空間」。官方文件講得更白:一個 repository 裡可以包含你專案的所有檔案,而這些檔案的每一次變更都會被記錄下來,讓你能隨時回溯、比對、合作。
新手最常犯的錯,是把 repo 當成另一個「檔案總管」,把檔案拖進去就不管了。這樣做你會得到一個沒有 commit 訊息、沒有 README、誰也不敢亂動的死資料夾。真正能用出價值的 repo,重點從來不在「放檔案」,而在「留下清楚的修改脈絡」。一個判斷指標:六個月後的你(或接手的人)打開這個 repo,能不能看懂每一區檔案在做什麼、為什麼這樣安排。能,這個 repo 才及格。
Branch、Commit、Merge、Pull Request:四個會嚇到新手的名詞,白話講一遍
repo 的世界裡有四個名詞,特別容易把非工程背景的人勸退:commit、branch、merge、pull request。其實它們對應的概念,你日常生活中早就用過了。
Commit(提交),就是遊戲裡的「存檔」。你改了一輪檔案,覺得這是一個有意義的進度,就下一個 commit,把目前的狀態連同一句說明存下來。一句好的 commit 訊息,例如「修正結帳金額未含運費」,三個月後你回頭看,一秒就知道當時做了什麼。一句爛的 commit 訊息,例如「update」或「fix」,等於沒寫,未來的你會恨現在的你。
Branch(分支),就是平行宇宙。你想在專案裡試一個新設計,又怕弄壞原本能跑的版本,就開一條 branch 去實驗;實驗成功再接回主線,失敗就把整條 branch 丟掉,主線完全不會受影響。這對內容團隊超好用,改寫一整個區塊的文案時,開 branch 來改,主站版本繼續安穩上線。
Merge(合併),就是把 branch 上確認沒問題的改動,接回主線的動作。合併完成之後,主線就擁有了那些新內容。
Pull Request(PR,提取請求),是 branch 跟 merge 之間的一道「人工審查關」。它的 官方定義是這樣:PR 讓你告訴其他人「我完成了一些變更」,接著大家在這個頁面上檢視差異、討論、調整,確認沒問題才合併進主線。換句話說,PR 就是一張「我改好了,請過目」的交班單。
PR 把「提出改動」與「合併生效」拆成兩步,審查者可以逐行留言、要求修改,再依權限與檢查結果決定是否合併。它能降低多人協作風險,但仍要搭配分支保護、權限與自動檢查。
| 名詞 | 白話比喻 | 日常對應動作 |
|---|---|---|
| Commit | 遊戲存檔 | 把進度連同一句說明存下來 |
| Branch | 平行宇宙 | 開一條支線去實驗,不影響主線 |
| Merge | 支線接回主線 | 把確認過的改動正式併入 |
| Pull Request | 交班單 | 送出改動、等人審查再生效 |
把這四個詞記熟,就能理解多數日常版控操作的基本脈絡。其餘細節可在實際完成一次 PR 後逐步熟悉。
非工程團隊可以把 PR 理解成簽核流程的數位版:文案改完送審、審查者留言、修正後再核准合併。修改紀錄通常可追查,但擁有權限的人仍可能改寫歷史或刪除資料,因此不能把它當成不可變的永久稽核系統。
Clone、Fork、Star:拿到別人 Repo 的三種姿態
當你在 GitHub 上看到一個有用的公開 repo,你不是只有「看一下」這個選項。你可以用三種不同力度的動作,把它變成自己的素材。這三個動作差很多,搞混會鬧笑話。
Star(加星號)是最輕的動作。它就是你對這個 repo 按讚、加書籤。你之後能在自己的星號清單裡找到它,但不會在你的帳號下產生任何副本。Star 是表達支持,也是收藏。
Clone(複製到本機)是把整個 repo 下載到你自己的電腦,連同完整的 commit 歷史一起搬過來。你可以拿來跑、拿來改,但你改的東西不會自動影響到原始的 repo。Clone 解決的是「我想在本機操作」這個需求。
Fork(分叉)力道最重。它會在你的 GitHub 帳號下,長出一個完全屬於你的副本,這個副本跟原始 repo 在伺服器上是兩個獨立的存在。你可以隨意改自己的 fork,改完還能發一個 PR 回原始 repo,建議原作者把你的修改收進去。官方定義講得很清楚:fork 是把別人的專案複製一份到自己的帳號下,讓你在不影響原始專案的前提下自由修改。
這三個的差別,一張表就能記住:
| 動作 | 結果 | 適合情境 |
|---|---|---|
| Star | 加書籤,不複製 | 純收藏、追蹤更新 |
| Clone | 下載到本機電腦 | 想在本機跑或改來試 |
| Fork | 在你的帳號下長出獨立副本 | 想長期改、或想貢獻回去 |
入門練習可以從一個授權條款清楚的開源作品開始:先閱讀 LICENSE,再依授權允許的方式 Fork、Clone 與修改。AI 工具可以協助理解或改動程式碼,但使用者仍要檢查授權、署名、安全性與輸出正確性。
Public 還是 Private:什麼時候該公開、什麼時候該關起來
開一個新 repo 時,平台會逼你選一個關鍵設定:Public(公開)或 Private(私有)。這個選擇看起來只是一個勾選,但它決定了這個專案後續能做什麼、不能做什麼,也直接牽動風險。很多出事的故事,源頭都是這一格勾錯。
Private repo只有你跟你明確邀請的人看得到。它適合放:還在開發中、不想被對手看見的商業專案;含客戶資料或敏感素材的工作檔;純粹是個人練習、還不想公開的實驗。GitHub 的私有 repo 免費方案就有,不用為了省錢硬把不該公開的東西設成 Public。
Public repo任何人都能查看,也可能被搜尋引擎、快取或其他服務收錄。它適合放作品集、開源專案、公開文件與教學。即使之後刪檔或轉為私有,曾公開的內容仍可能已被複製或快取,因此公開前要先完成敏感資料檢查。
穩妥的判斷原則是:無法確定內容能否公開時,先開 Private;確認授權、個資與商業機密都沒有問題,再切換為 Public。公開狀態之後仍能調整,但不能假設轉回 Private 就能收回所有既有副本。我把幾種常見情境的建議設定整理成這張表:
| 情境 | 建議設定 | 理由 |
|---|---|---|
| 客戶委託的專案素材 | Private | 合約通常要求保密,外洩就是違約 |
| 含個資、帳密、金鑰的檔案 | 根本不該進 repo | 用 .gitignore 隔離,另存他處 |
| 個人作品集網站原始碼 | Public | 要被搜尋到、要能展示 |
| 還沒定稿的實驗專案 | Private | 等成熟再公開,避免半成品代表你 |
| 開源給社群用的工具 | Public | 要能被 fork、貢獻、討論 |
這套「預設關起來」的思維,跟經營網站時的權限控管是同一條思路。你不會把後台管理介面預設對外開放,使用者角色與權限一定從嚴設定,等真的需要開放再逐步放寬。repo 也是同一個道理。
README 怎麼寫才有人看得懂:給非工程師的實用架構
README 是 repo 的門面,也是最多人亂寫的地方。一個常見的悲劇是:工程師寫的 README 假設讀者也是工程師,滿篇指令跟術語;非工程師寫的 README 又太空泛,看不出這專案能幹嘛。一份好的 README,應該讓一個完全沒接觸過這專案的人,三十秒內搞懂「這是什麼、對我有沒有用」。
官方文件的說明也支持這個方向:README 是訪客打開 repo 時第一個看到的內容,它能讓人快速理解這個專案在做什麼、為什麼值得關注。
我自己整理出一個非工程師也能照著寫的實用架構,六個區塊:
- 一句話定位:這專案是什麼、解決誰的什麼問題。例如「給內容團隊的 SEO 關鍵字追蹤表,每週自動更新排名」。
- 它為什麼存在:一句話講你做這東西的動機。動機寫出來,讀者才會產生共鳴。
- 裡面有什麼:列出 repo 裡的主要檔案與資料夾,每項配一行白話解釋。這等於給讀者一張地圖。
- 怎麼用:步驟式的操作說明,一步一步來,不要跳。如果你得寫一行指令,就附上「這行在做什麼」的註解。
- 貢獻規則:別人想幫忙改,要走什麼流程、有什麼規範。這部分跟 PR 文化直接相關。
- 授權與聯絡:註明這份成果的 LICENSE、找得到你的方式。
這個架構跟寫文案的底層邏輯是同一件事,先把讀者放進心裡,再決定要說什麼。README 的讀者,是一個對你專案一無所知、正在決定要不要花三分鐘認識它的陌生人。
給你一個誠實的提醒:README 不要寫成廣告文案。誇張的形容詞、空泛的口號,在 GitHub 這種地方只會扣分。寫具體的事實,它做什麼、目前進度到哪、已知限制是什麼。透明比華麗更有說服力,這套邏輯也完全適用於 SEO 內容的寫作。一個小技巧:把 README 想成「未來三個月不會再見到這個專案的你,留給自己的備忘錄」,你自然會寫得清楚又節制。
.gitignore、大檔案與地雷:別把個資和金鑰推上去
講到這裡,我要談一個會讓人睡不著的議題,把不該上傳的東西推上 repo。這不是技術問題,是風險問題,而且是非工程團隊最容易踩的中雷。
repo 預設會追蹤你丟進去的每一個檔案。問題是,有些檔案根本不該進版本控制:API 金鑰、資料庫密碼、客戶名單、含個資的試算表、本機設定檔。只要你一不小心把它 commit 並推上公開 repo,全世界都看得到,而且因為 repo 會記歷史,就算你事後刪掉,舊版本裡還是留著。
這就是 .gitignore 存在的理由。它是一份清單,告訴 repo「這些檔案永遠不要追蹤」。官方文件把它說得很明白:你可以用 .gitignore 檔案,指定 Git 要忽略、不追蹤哪些檔案,避免把暫存檔、敏感資訊或與專案無關的東西一起送上去。養成習慣:開一個新 repo,第一件事就是寫好 .gitignore。
另一個常見的地雷是大檔案。GitHub 對單一檔案有軟性大小限制,官方建議單一檔案不要超過 50MB,超過 50MB 會收到警告,超過 100MB 則會被直接擋下、無法推送,更大的檔案需要用 Git LFS 這類專門工具處理。影片、原始素材檔、大型資料集,通常都不該直接塞進 repo,而是用其他儲存方案,再在 repo 裡放連結。
最嚴重的一顆雷,是把含個人資料的檔案推上公開 repo。在台灣,蒐集、處理、利用個人資料須符合 全國法規資料庫的《個人資料保護法》條文 與相應安全維護義務;個案責任仍要依資料類型、用途、當事人關係與事件情節判斷。客戶名單不應放進公開 repo;若涉及法規或契約責任,應由法務或合格專業人士判斷。
給你一份我自己的防呆清單,凡是符合下列任一條件的檔案,一律寫進 .gitignore:
- 副檔名是 .env、.key、.pem 的設定或金鑰檔
- 含真實姓名、電話、Email、身分證字號的試算表
- 作業系統自動產生的暫存檔(例如 .DS_Store、Thumbs.db)
- node_modules、build 之類可從原始檔重建的中間產物
- 任何超過 50MB 的二進位檔
萬一你已經把敏感檔推上去怎麼辦?第一步是立刻把對應的金鑰、密碼、權限全部換新,當作它們已經外洩來處理。第二步才是從歷史裡移除檔案,這個動作技術上很麻煩,而且無法保證別人沒有先備份。所以結論還是那句老話:預防遠比補救便宜。這份風險意識跟網站安全是通的,你部署一個網站,也不會把後台帳密硬編進原始碼裡,加密傳輸與憑證、權限控管都是同一套風險意識的不同切面。差別只在 repo 的歷史紀錄特性,會把你的失誤永久封存,所以更不能大意。
LICENSE 怎麼選:開源不代表別人可以隨便拿去賣
很多非工程師對「開源」有個危險的誤會,以為貼上「open source」四個字,就等於免費大放送、誰都能拿去做任何事。事實剛好顛倒:一個沒有 LICENSE 的 repo,在預設情況下,別人其實「沒有權利」使用你的程式碼,因為你保留了所有著作權。開源的善意,是要靠一個明確的授權條款來兌現的。
授權條款百百種,但對大多數人來說,認識三個就夠用:
| 授權 | 核心精神 | 適合誰 |
|---|---|---|
| MIT | 幾乎隨你用,但要保留原作者聲明 | 想最大化被採用、不在乎別人要不要回饋 |
| Apache 2.0 | 類似 MIT,但附帶專利授權與免責 | 有專利考量、企業環境常用 |
| GPL 系列 | 散布受授權約束的衍生作品時,通常須依相同授權提供對應原始碼 | 希望衍生版本延續相同開放條件 |
Open Source Initiative(OSI)是維護「開源」定義的權威機構,他們維護的 授權條款清單 經過審核,你可以在上面找到每一個條款的完整文字與適用情境。
非工程團隊可以先從使用情境判斷:希望寬鬆再利用,可研究 MIT;在意明確專利授權,可比較 Apache 2.0;希望散布衍生版本時延續相同開放條件,再研究 GPL 系列。這是一般方向,不是法律意見;涉及專利、商業授權或多位貢獻者時,應先請法務確認。
使用 fork 或改作其他 repo 時,必須遵守原授權的著作權聲明、散布與原始碼提供條件。能否改用另一份授權,要看原授權與新增內容的權利關係,不能一概而論。
把 Repo 當成公開作品集
講完風險與規矩,換個角度,repo 其實是很值錢的資產。對內容、設計、行銷工作者來說,一個維護良好的公開 repo,是比 PDF 作品集更強的履歷。理由很實際:PDF 可以唬爛,repo 沒辦法。commit 歷史會誠實地告訴訪客,這東西是怎麼一步步長出來的、你是不是真的動手做的。
如果你把作品集網站本身的原始碼也放在 repo 裡,就能把版本控制、公開展示與部署流程串在一起。網站是否會隨原始碼自動更新,取決於實際部署與分支設定;接好後仍要保留建置檢查與回復方式,避免錯誤改動直接上線。
從搜尋與作品展示的角度,公開 repo 提供了一個可被分享、也可能被搜尋引擎發現的頁面。可以在 repo 描述寫清楚專案定位,並放上相關網站連結,方便讀者查證與延伸閱讀;這不代表連結必然帶來排名提升。連結的不同用途可參考〈內部連結、外部連結、反向連結〉。
這也呼應我想傳遞的整體觀念:repo 是現代知識工作者的數位資產容器。把作品、文件、甚至寫作素材放進 repo,你就從「檔案在雲端硬碟裡腐爛」升級成「資產在被搜尋引擎與 AI 看得見的地方累積」。這跟你經營 AI 搜尋時代的 SEO 是同一個方向,讓你認真做出來的東西,能被對的人找到。
想做作品集但不知從何開始的人,可以先把目標縮到極小:一個一頁式的自我介紹 repo,README 寫好你的定位、放三個你最滿意的成果連結、接上 GitHub Pages 上線。完成這一個小專案,你就走完了從內容到部署的完整一圈,比讀十篇教學都紮實。這也跟 作品集網站設計 的核心觀念相通:先求有一個能被找到的公開版本,再慢慢打磨。
非工程團隊上線 Repo 的六步清單
觀念講完了,底下是一份能照著做的最小導入清單。實際所需時間會受團隊規模、權限與既有流程影響,不必一次搬完所有檔案。
- 挑一個邊界清楚的小專案當試金石。別一開始就把整個團隊所有檔案搬進來。選一個有明確範圍的東西,例如「下一季的內容企劃表」或「客戶案例研究素材庫」,範圍小、風險低、容易看到成果。
- 先寫 README 與 .gitignore,再放任何檔案。這兩個檔案是 repo 的防護網與門牌。先寫好,等於先把規矩立好,後面的人才知道怎麼跟這個專案相處。
- 約定一個簡單的 commit 訊息格式。例如「[類型] 動作+對象」,像「[新增] 三月文章大綱」「[修正] 標價錯字」。訊息一致,三個月後回頭看歷史才看得懂。
- 規定所有改動走 Pull Request。就算只有兩個人的團隊,也堅持用 PR。它強迫你在送出前自我檢查一次,也留下討論紀錄,這是建立審稿文化的第一步。
- 把敏感檔案隔離在 repo 之外。凡是含個資、金鑰、客戶機密的檔案,一律不進 repo,改用權限控管更嚴格的儲存空間,再在 repo 裡放一份說明文件指引。
- 讓 AI 工具讀取專案。 repo 上軌道後,可依最小必要權限讓 AI 寫程式代理協助寫文件、整理素材或補測試;所有改動仍要經過差異檢查與必要測試。
這六步走完,你會擁有一個能被搜尋到、能被 AI 讀懂、能安全協作的現代化專案空間。比起把檔案塞進雲端硬碟深處,這才是把你的工作成果當成資產在經營。
我也常被問:導入 repo 之後,原本的雲端硬碟是不是就要砍掉?答案是不用,而且不該砍。兩者各有所長,硬碟適合放原始素材、大檔案、暫存的 working file;repo 適合放需要被追蹤、被討論、被當成最終版本的成果。把它們想成「廚房裡的冰箱」跟「餐桌上的菜」,冰箱是進貨與暫存,餐桌上擺的才是要端給客人看的那一份。分清楚這兩層,你的團隊就不會陷入「到底要把檔案放哪」的混亂。
常見的導入問題,是 commit 訊息過於含糊,或多人直接在同一條 branch 修改。新手可以用「動詞開頭+說清楚改了什麼、為什麼」的格式,例如「補上三月文章大綱的內部連結區塊」;多人協作時則各自開 branch,再走 PR 審查與合併。
回到一開始的問題:repo 值不值得學,取決於專案是否需要長期維護、精確版本紀錄與多人審查。需求符合時,它是基礎工具;若主要是即時共同編輯與大型素材交換,雲端硬碟可能更合適。先拿一個邊界清楚的小專案試跑,就能判斷是否值得擴大。
如果這條路對你或你的團隊有幫助,但我提到的部署、權限、個資合規這幾塊,你自己處理起來沒把握,這也是 Whoops SEO 平常協助客戶的範圍之一。先動手做你的第一個 repo,那才是最值得的一步。
常見問題
Repo 一定要用 GitHub 嗎?
Public repo 會不會被別人偷走?
Repo 裡一定要有 README 嗎?
我可以把整個電腦資料夾都塞進 repo 嗎?
操作步驟
- 註冊 GitHub 帳號到 GitHub 官網(github.com)註冊免費帳號;練習與作品集用途免費方案即足夠,正式產品再到官方 pricing 頁面確認方案。
- 建立新的 repository登入後點 New repository,填入 repo 名稱與簡短描述,選 Public 或 Private,並順手勾選初始化 README、.gitignore 與 LICENSE。
- 本機安裝 Git到 Git 官方網站(git-scm.com)下載安裝,裝完後在終端機執行 git --version,有跳出版本號即代表成功。
- 把 repo clone 到本機在 GitHub repo 頁面複製 clone 網址,本機執行 git clone 加上網址,會產生一個帶有完整 Git 歷史的專案資料夾。
- 修改檔案並 commit改完檔案後依序執行 git status(看改了什麼)、git add .(加進暫存區)、git commit -m "訊息"(正式建立版本紀錄)。
- push 到 GitHub執行 git push origin main 把 commit 推回雲端,回到 GitHub repo 頁面看到剛剛的變更與 commit message 即完成。