Git 與 GitHub
Git 是裝在你電腦上的版本控制軟體;GitHub 是把 Git 儲存庫放到網路上、讓人一起協作的平台。兩者常被混為一談,但分工不同:Git 記錄「改了什麼」,GitHub 提供「給誰看、怎麼一起改」。
儲存庫是什麼
儲存庫(repository,口語常說 repo)是一個專案的版本歷史容器。裡面有檔案、每一次提交(commit),以及各條分支。
常見有兩份:
- 本機儲存庫:在你電腦上的資料夾(裡面有隱藏的
.git/)。 - 遠端儲存庫:在 GitHub 上的那一份,網址通常長得像
https://github.com/使用者/專案。
本機改完要讓別人看到,就 push 到遠端;別人改完要拉回來,就 pull。忘記這層對應,後面的 PR 與 CI 都會看起來像魔術。
最常用的同步動作
假設你已經在 GitHub 上有一個 repo,日常幾乎只重複這幾步。
第一次把遠端抓下來:
clone 會連同完整歷史一起複製。之後不必再 clone,只要在同一個資料夾工作。
把本機提交送到 GitHub:
add 是挑選要納入這次提交的檔案;commit 才真正寫進歷史。沒有 commit 就 push,遠端不會有新內容。
把 GitHub 上的新提交拉回來:
多人協作時,開始改程式前先 pull,可減少之後合併衝突。
用 GitHub CLI 少打網址
已安裝 gh 並登入後,可用 gh repo clone OWNER/REPO,不必手動複製 HTTPS 網址。見 安裝與登入。
帳號與驗證
第一次 push 時,GitHub 必須知道你是誰。現在常見兩種方式:
- HTTPS + GitHub CLI:執行
gh auth login,讓gh幫 Git 記住憑證。這是目前最省事的做法。 - SSH 金鑰:把本機公鑰加到 GitHub 帳號,遠端網址用
git@github.com:OWNER/REPO.git。
無論哪一種,請在帳號開啟雙因素驗證(2FA)。密碼外洩時,2FA 是最後一道門。
建議先看的影片
GitHub 官方用終端機示範 git init、git add、git commit 的入門片,約十幾分鐘,適合搭配本頁一起做。
更多入門與協作影片見 官方影音。