37 KiB
GitHub 簡介
嗨,未來的開發者!👋 準備好加入全球數百萬程式員的行列了嗎?我非常興奮地向你介紹 GitHub——把它想像成程式員的社交媒體平台,不同的是,我們分享的不是午餐照,而是程式碼,一起打造令人驚嘆的作品!
這點真的讓我震撼不已:你手機上的每個應用程式、你瀏覽的每個網站,以及你將學習使用的大多數工具,都是由團隊開發者在像 GitHub 這樣的平台上共同協作完成的。你喜愛的音樂應用程式?可能就有人跟你一樣貢獻了程式碼。那款玩不膩的遊戲?沒錯,可能就是用 GitHub 協作建造出來的。現在,你也將學會如何成為這個精彩社群的一員!
我知道剛開始可能會覺得很多——說真的,我還記得第一次看到 GitHub 頁面時想:「這到底是什麼意思?」但事實是:每個開發者都是從你現在的狀態開始的。結束這堂課時,你會有自己的 GitHub 倉庫(把它想像成你個人在雲端的專案展示台),你會知道如何儲存工作、與他人分享,甚至參與數百萬人使用的專案。
我們會一步步一起走這趟旅程,沒有急躁,沒有壓力——只有你我和一些超酷的工具,它們將成為你新的好朋友!
Sketchnote by Tomomi Imura
journey
title 你今日的 GitHub 冒險
section 設置
Install Git: 4: You
Create Account: 5: You
First Repository: 5: You
section 精通 Git
Local Changes: 4: You
Commits & Pushes: 5: You
Branching: 4: You
section 合作
Fork Projects: 4: You
Pull Requests: 5: You
Open Source: 5: You
課前小測驗
介紹
在我們深入真正令人興奮的內容之前,先讓你的電腦準備好 GitHub 的魔法吧!想像這就像在創作傑作之前整理藝術工具——有了合適的工具,一切都會變得更順暢、更有趣。
我會親自引導你完成每個設定步驟,我保證並沒有看起來那麼可怕。如果一開始有些地方不太懂,那完全正常!我還記得設定第一個開發環境時,感覺像在解讀古埃及象形文字。每個開發者都曾經跟你現在一樣,不知道自己有沒有做對。劇透一下:你正在學習,已經做對了!🌟
本課將涵蓋:
- 追蹤你在電腦上的工作
- 與他人合作專案
- 如何貢獻開源軟體
先決條件
先讓你的電腦準備好 GitHub 的魔法吧!別擔心--這個設定只需做一次,之後你的程式之旅都將順利進行。
好了,讓我們從基礎開始!首先,我們需要確認你的電腦上是否已經安裝了 Git。Git 基本上就像一個超聰明的助手,記錄你對程式碼的每個變更,比起每兩秒猛按 Ctrl+S(我們都做過)好太多了!
在終端機輸入這行魔法指令,看看你的電腦是否有安裝 Git:
git --version
如果還沒安裝,別擔心!到 download Git 下載安裝就好。裝好之後,我們要正式介紹你和 Git 認識一下:
💡 初次設定:這些指令會告訴 Git 你是誰。這資訊會附加在你每次提交(commit)中,所以請選擇你願意公開分享的名字和郵件。
git config --global user.name "your-name"
git config --global user.email "your-email"
要檢查 Git 是否已設好,可以輸入:
git config --list
你還需要有 GitHub 帳號、程式碼編輯器(如 Visual Studio Code),還有打開終端機(或命令提示字元)。
造訪 github.com,還沒帳號就註冊,或登入並完善個人資料。
💡 現代提示:考慮設定 SSH 金鑰 或使用 GitHub CLI 來無密碼更輕鬆認證。
✅ GitHub 並非唯一的程式碼倉庫,市場上還有其他選擇,但 GitHub 最出名。
準備工作
你需要在本機(筆電或電腦)準備一個有程式碼的資料夾,還有 GitHub 上一個公開倉庫,作為示範如何貢獻他人專案的例子。
保護你的程式碼安全
說點安全性的事情——別擔心,不會嚇到你!把安全習慣想成鎖車或鎖房門。這些簡單習慣會成為你的第二天性,保護你辛苦的作品。
我們會從一開始就展示如何用現代且安全的方式與 GitHub 合作。這樣你能培養好習慣,伴隨你整個程式人生。
使用 GitHub 時,重要的是遵守安全最佳實務:
| 安全範疇 | 最佳實務 | 重要原因 |
|---|---|---|
| 身份驗證 | 使用 SSH 金鑰或個人存取權杖 | 密碼安全性較差並逐漸淘汰 |
| 雙重認證 | 啟用 GitHub 帳號 2FA | 增加帳號安全防護層 |
| 倉庫安全 | 永遠不提交敏感資訊 | API 金鑰與密碼不該放公開倉庫 |
| 相依管理 | 啟用 Dependabot 更新 | 保持依賴套件安全與最新 |
⚠️ 重要安全提醒:切勿將 API 金鑰、密碼或其他敏感資訊提交到任何倉庫。使用環境變數與
.gitignore檔案來保護敏感資料。
現代認證設定:
# 產生 SSH 金鑰(現代 ed25519 演算法)
ssh-keygen -t ed25519 -C "your_email@example.com"
# 設定 Git 使用 SSH
git remote set-url origin git@github.com:username/repository.git
💡 專業提示:SSH 金鑰讓你不必重複輸入密碼,比傳統認證更安全。
像專業人士般管理你的程式碼
好了,這裡開始真正有趣了!🎉 我們將學習如何像專家一樣追蹤與管理程式碼,坦白說,這是我最喜歡教的主題之一,因為它會改變你的開發方式。
想像你正在寫一個精彩故事,想要記錄每個稿本、每個絕妙修訂,還有每個「等等,這主意太棒了!」的瞬間。Git 就是為你的程式碼做到這件事!它就像一個不可思議的時光筆記本,記錄所有細節——每一次敲擊鍵盤、每個修正、每個「哎呀,壞了!」的時刻,你都能立刻回到過去。
說實話——剛開始可能會有點難懂。我當年也想:「為什麼不能像平常一樣直接存檔呢?」但相信我,一旦你「察覺」了 Git 的妙用(一定會的!),你會有「以前怎麼沒用過它?」的靈光一閃。就像一輩子走路,忽然發現自己會飛一樣!
假設你本機有一個資料夾,裡面放著程式碼專案,你想開始用 git(版本控制系統)追蹤進度。有人說用 git 有點像寫給未來自己的情書。數天、數週、數月後,再回頭看你的 commit 訊息,你能回憶為何改動,或「還原」變更--前提是你有寫好 commit 訊息。
flowchart TD
A[📁 你的專案檔案] --> B{是否為 Git 倉庫?}
B -->|否| C[git init]
B -->|是| D[進行更改]
C --> D
D --> E[git add .]
E --> F["git commit -m '訊息'"]
F --> G[git push]
G --> H[🌟 GitHub 上的代碼!]
H --> I{想要協作嗎?}
I -->|是| J[分叉並克隆]
I -->|否| D
J --> K[建立分支]
K --> L[進行更改]
L --> M[提取請求]
M --> N[🎉 貢獻中!]
style A fill:#fff59d
style H fill:#c8e6c9
style N fill:#ff4081,color:#fff
任務:建立你的第一個倉庫!
🎯 你的任務(我超級期待!):我們要一起建立你的第一個 GitHub 倉庫!完成後,你會有屬於自己的網路小天地存放程式碼,並完成第一次「commit」(開發者專用語:用聰明方式保存工作成果)。
這真的是特別的時刻——你即將正式加入全球開發者社群!我依然記得第一次創建倉庫時的興奮,心想「哇,我真的做到了!」
咱們一步步共赴這場冒險。每個步驟都慢慢來,不用急,保證你絕對懂。記得,每位你認識的程式達人都曾跟你一樣,正準備創建他們的第一個倉庫。多酷啊!
觀看影片
一起動手做:
-
在 GitHub 建立你的倉庫。前往 GitHub.com,找那個明亮的綠色 New 按鈕(或右上角的 + 號),點擊並選擇 New repository。
以下是操作步驟:
- 幫你的倉庫取個名字──取一個對你有意義的!
- 可以加個描述(讓別人知道專案是什麼)
- 決定是公開(大家都能看到)還是私密(只限你)
- 建議勾選新增 README 檔案——這是你專案的封面頁
- 點擊 Create repository,慶祝一下-你剛創建了第一個倉庫!🎉
-
進入你的專案資料夾。打開終端機(別怕,真的沒那麼可怕!)。我們要指示電腦專案檔案位置。輸入以下指令:
cd [name of your folder]我們這樣做是因為:
- 其實是在告訴電腦「嘿,帶我到專案資料夾」
- 這就像在桌面打開指定資料夾,但用文字指令執行
- 把
[name of your folder]換成你專案資料夾的真實名稱
-
將資料夾變成 Git 倉庫。魔法就在此發生!打:
git init這步驟的意義(很酷吧!):
- Git 在你的專案中建立一個隱藏的
.git資料夾,你看不到它,但它存在著! - 你的資料夾現在成為可追蹤所有變更的「倉庫」
- 就像賦予資料夾超能力,能記住一切
- Git 在你的專案中建立一個隱藏的
-
查看目前狀態。看看 Git 對你的專案「怎麼看」:
git status讀懂 Git 講了什麼:
你可能會看到像這樣的東西:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file.txt modified: file2.txt別慌!這是什麼意思:
- 紅色的檔案代表有變更但還沒準備好要儲存
- 綠色的檔案(如果有看到)代表已準備好儲存
- Git 很貼心,告訴你下一步該怎麼做
💡 專業提示:
git status是你最好的朋友!任何時候搞不懂狀況就用它。它就像問 Git 「嘿,情況怎樣?」 -
準備好要儲存的檔案(稱為「暫存」):
git add .我們剛做了什麼:
- 告訴 Git 「我想把這資料夾裡的所有檔案都加入下一次儲存」
.就像說「資料夾裡所有的東西」- 現在檔案都「暫存」了,準備下一步
想挑選性加入? 你也可以只加入特定檔案:
git add [file or folder name]為什麼會想這樣做?
- 有時候你想一併保存相關修改
- 幫助你把工作化整為零
- 更容易理解什麼時候改了什麼
改主意了? 沒問題!可以這樣取消暫存:
# 取消暫存所有項目 git reset # 只取消暫存一個檔案 git reset [file name]別擔心-這不會刪除你的檔案,只是把檔案從「準備儲存」的列表移除。
-
正式永久保存你的工作(做出第一個 commit!):
git commit -m "first commit"🎉 恭喜你!完成你的第一次 commit!
剛發生了什麼:
- Git 在這一刻幫你把所有暫存檔案「拍了一張快照」
- commit 訊息「first commit」說明這次保存的意義
- Git 給予這張快照一個獨特 ID,讓你能隨時找到它
- 你正式開始追蹤專案歷史!
💡 未來 commit 訊息:下次提交時,訊息要更具描述性!不要只寫「updated stuff」,試試「Add contact form to homepage」或「Fix navigation menu bug」。未來的你會感謝現在用心的你!
-
連接本機專案到 GitHub。目前專案只在你電腦裡,我們要連到 GitHub 倉庫,才能分享給全世界!
先去你的 GitHub 倉庫頁面,複製 URL 回來,然後打:
git remote add origin https://github.com/username/repository_name.git(把這個 URL 換成你實際的倉庫網址!)
我們做了什麼:
- 我們已建立你本地專案和你的 GitHub 倉庫之間的連接
- 「origin」只是你 GitHub 倉庫的暱稱——就像把聯絡人加到你的電話裡一樣
- 現在本地的 Git 知道該把你的程式碼傳送到哪裡,當你準備好分享時
💡 更簡易的方法:如果你已安裝 GitHub CLI,可以用一條指令完成這些動作:
gh repo create my-repo --public --push --source=. -
將你的程式碼傳送到 GitHub(重要時刻!):
git push -u origin main🚀 就是現在!你要將程式碼上傳到 GitHub 了!
發生了什麼:
- 你的提交從電腦傳到 GitHub
-u旗標建立永久連接,未來推送更方便- 「main」是你的主要分支名稱(就像主資料夾)
- 之後你只要打
git push就能上傳!
💡 小提示:如果你的分支叫別的名字(例如「master」),請用那個名稱。可用
git branch --show-current確認。 -
你的全新日常編程節奏(這會讓你上癮!):
從此以後,當你對專案作出改動時,有一個簡單的三步舞:
git add . git commit -m "describe what you changed" git push這會成為你的編程節奏:
- 作出很棒的程式碼改動 ✨
- 用
git add登記改動(「Git,請注意這些改動!」) - 用
git commit並附上描述訊息儲存改動(未來的你會感謝現在的你!) - 用
git push和世界分享你的改動 🚀 - 不斷重複——認真說,這會像呼吸一樣自然!
我喜歡這個工作流程,因為它就像遊戲裡有多個儲存點。喜歡剛才的改動?就 commit!想試些冒險的東西?沒問題——如果出錯,隨時可以回到最後的提交狀態!
💡 小貼士:你也可能想用
.gitignore檔,避免不想追蹤的檔案出現在 GitHub 上——像存在同資料夾裡但不適合放公開倉庫的筆記檔。能從 .gitignore templates 找到範本,或用 gitignore.io 自製。
🧠 第一次倉庫提交:感覺如何?
花點時間慶祝並反思:
- 第一次看到程式碼出現在 GitHub 時是什麼感覺?
- 哪一步最令你困惑,哪一步出乎意料地簡單?
- 你能用自己的話解釋
git add、git commit和git push的差別嗎?
stateDiagram-v2
[*] --> LocalFiles: 建立專案
LocalFiles --> Staged: git add .
Staged --> Committed: git commit
Committed --> GitHub: git push
GitHub --> [*]: 成功!🎉
note right of Staged
檔案準備好儲存
end note
note right of Committed
快照已建立
end note
記住:即使是有經驗的開發者,有時也會忘記正確指令。讓這流程變成肌肉記憶需要練習——你做得很棒!
現代 Git 工作流程
考慮採用以下現代規範:
- Conventional Commits:用標準化的提交訊息格式,如
feat:、fix:、docs:等。了解更多:conventionalcommits.org - Atomic commits:每個 commit 只代表一個邏輯修改
- Frequent commits:經常、用描述性訊息提交,避免一次大量、少次提交
Commit 訊息
一個優秀的 Git commit 主旨句應完成以下句子: If applied, this commit will <你的主旨句>
主旨用命令式、現在時:用「change」非「changed」或「changes」。 正文(可選)也用命令式、現在時,應說明為何改動並和之前行為對比。是解釋「為什麼」不是「怎麼做」。
✅ 花幾分鐘逛逛 GitHub。能找到非常好的 commit 訊息嗎?或非常簡短的訊息?你覺得 commit 訊息中最重要且有用的資訊是什麼?
與他人合作(有趣的部分!)
戴好帽子,因為這正是 GitHub 魔法開始的地方!🪄 你已掌握管理自己程式碼,但現在我們要進入我最愛的部分——與來自世界各地的優秀開發者合作。
想像一下:明天醒來時,你發現有人在東京幫你改進了程式碼;有人在柏林修復你卡住的 bug;下午時,聖保羅的一位開發者加入了你從未想過的功能。這不是科幻——在 GitHub 世界裡,這就是日常!
讓我最興奮的是,你即將學到的協作技能,就是 Google、微軟以及你喜歡的初創公司每天使用的 EXACT 工作流程。你不只是在學一個酷工具——你在學讓全球軟體世界協同運作的祕密語言。
說真的,一旦你體驗到有人合併你的第一個 Pull Request 的快感,就會懂為什麼開發者對開源充滿熱情。就像參與全球最大、最具創意的團隊專案!
參考影片
放到 GitHub 的主要原因是為了方便與其他開發者合作。
flowchart LR
A[🔍 尋找專案] --> B[🍴 分叉儲存庫]
B --> C[📥 複製到本地]
C --> D[🌿 建立分支]
D --> E[✏️ 進行更改]
E --> F[💾 提交更改]
F --> G[📤 推送分支]
G --> H[🔄 建立拉取請求]
H --> I{維護者審核}
I -->|✅ 核准| J[🎉 合併!]
I -->|❓ 要求修改| K[📝 更新內容]
K --> F
J --> L[🧹 清理分支]
style A fill:#e3f2fd
style J fill:#e8f5e8
style L fill:#fff3e0
在你的倉庫中,前往 Insights > Community 查看你的專案如何符合社區建議標準。
想讓你的倉庫看起來專業且讓人感到歡迎嗎?到你的倉庫點擊 Insights > Community。這個很棒的功能會告訴你專案在 GitHub 社區認為「良好倉庫實踐」方面的表現。
🎯 讓你的專案閃耀:一個組織良好且文件齊全的倉庫就像乾淨、招人的店面。它告訴大家你很在乎作品,也讓其他人想投入貢獻!
以下讓倉庫變優秀:
| 應加入什麼 | 為何重要 | 帶給你的效果 |
|---|---|---|
| 描述 | 第一印象很重要! | 讓人第一時間知道你的專案做什麼 |
| README | 專案的門面 | 就像迎新導覽給新訪客 |
| 貢獻指南 | 表示歡迎協助 | 讓人明白如何協助你 |
| 行為守則 | 創造友善環境 | 讓每個人都感覺被歡迎參與 |
| 授權條款 | 法務清楚 | 讓他人知道如何使用你的程式碼 |
| 安全政策 | 展現負責任 | 表現專業作風 |
💡 專家秘訣:GitHub 提供這些檔案的範本。建立新倉庫時勾選即可自動生成。
探索現代 GitHub 功能:
🤖 自動化與 CI/CD:
- GitHub Actions 自動化測試與部署
- Dependabot 依賴自動更新
💬 社群與專案管理:
- GitHub Discussions 問題之外的社群討論空間
- GitHub Projects 看板式專案管理
- 分支保護規則 強制程式碼品質標準
這些資源能幫助新團隊成員加入時更快上手。通常新貢獻者在看程式碼前會先看這些,判斷專案是否值得他們花時間。
✅ README 檔雖然準備起來花時間,但常被忙碌的維護者忽略。能找到特別有描述性的範例嗎?備註:有一些工具幫助創建優質 README值得嘗試。
任務:合併一些程式碼
貢獻文件幫助他人參與專案。說明你找什麼樣的貢獻及流程如何。貢獻者需經過一系列步驟,才能在 GitHub 貢獻給你的倉庫:
- Fork 你的倉庫 大概你會希望大家先對你的專案 fork。Fork 是建立你倉庫的複製品在他們的 GitHub 帳號上。
- Clone。接著他們會 clone 專案到本地機器。
- 建立分支。你會想請他們為他們的工作建立一個 branch。
- 專注於一件事。請貢獻者一次專注於一個改動內容——這樣你合併他們工作的機率比較高。想像他們修 bug、新增功能、更新多項測試——如果你只能接受其中兩項或一項怎麼辦?
✅ 想像在寫和交付優質程式碼時,分支扮演關鍵角色。你能想到哪些應用場景?
註:成為你想看到的改變,也建立分支管理自己的工作吧。你所做的 commit 預設是在你當前「checkout」的分支上。用
git status查看你在哪個分支。
讓我們來看一下貢獻者的工作流程。假設貢獻者已經 fork 並 clone 好 repo,且本地已有 Git 環境:
-
建立分支。用命令
git branch建立一個準備提交改動的分支:git branch [branch-name]💡 現代做法:你也可以用一條命令同時建立並切換分支:
git switch -c [branch-name] -
切換到工作分支。用
git switch切換到剛建立的分支並更新工作目錄:git switch [branch-name]💡 現代提示:
git switch是改用於切分支的更清晰替代git checkout,對初學者更安全。 -
開始工作。此時你要新增改動。別忘告訴 Git,命令如下:
git add . git commit -m "my changes"⚠️ 提交訊息品質:務必為 commit 取個好名字,無論是為自己還是你協助的 repo 維護者。具體說明你改了什麼!
-
合併你的工作到
main分支。完成工作後,想結合你的工作和main分支的內容。main可能已有更新,先用以下命令拉最新版本:git switch main git pull現在你要確保任何 衝突,即 Git 不知如何 合併 的情況,都處理在你的工作分支。執行:
git switch [branch_name] git merge maingit merge main會把main最新變更帶入你的分支。希望能直接繼續。如果不行,VS Code 會告訴你 Git 混淆在哪裡,並讓你修改檔案指定正確版本。💡 現代替代法:考慮用
git rebase取得更乾淨的歷史:git rebase main這會把你的提交依序放到最新的 main 上,形成線性歷史。
-
推送你的工作到 GitHub。推送工作到 GitHub 具包含兩件事。先把分支推送到你的遠端 fork,然後開 Pull Request。
git push --set-upstream origin [branch-name]上述指令會在你的 forked repo 建立分支。
🤝 協作技能檢測:準備好與別人合作了嗎?
來看看你對協作的感覺:
- 對 fork 與 pull request 的概念是否明白?
- 有關使用分支工作,你還想練習什麼?
- 對貢獻別人專案感到多大信心?
mindmap
root((Git 協作))
Branching
Feature branches
Bug fix branches
Experimental work
Pull Requests
Code review
Discussion
Testing
Best Practices
Clear commit messages
Small focused changes
Good documentation
信心加油站:你敬佩的每位開發者,在提出第一個 PR 時都曾緊張。GitHub 社區對新手非常友好!
-
開 PR。接著要開 pull request。到你 fork 的 repo 頁面上,GitHub 會提示你是否建立新 PR,點擊即可進入介面修改 commit 標題和敘述。原專案維護者會看到,並 希望 會合併你的 PR。從此你成為一名貢獻者,耶 :)
💡 現代提示:也可使用 GitHub CLI 建立 PR:
gh pr create --title "Your PR title" --body "Description of changes"🔧 PR 最佳實踐:
- 用關鍵字連結相關 issue,如 "Fixes #123"
- UI 改動補充截圖
- 指定特定審查者
- 進行中可用草稿 PR
- 發出審查請求前確保所有 CI 通過
-
清理。成功合併 PR 後,進行 清理 是良好做法。你需要清理本地分支和推送到 GitHub 的分支。首先,使用以下命令在本地刪除它:
git branch -d [branch-name]接著請到該 fork 的 GitHub 頁面,刪除你剛剛推送過去的遠端分支。
Pull request(拉取請求)聽起來怪怪的,因為你真正想做的是把變更推送到專案裡。但維護者(專案擁有者)或核心團隊需要先審核你的變更,才會將它合併進專案的「main」分支,所以你其實是在請求維護者做變更決定。
拉取請求是用來比較和討論分支所引入差異的地方,可以包含審核、評論、整合測試等等。一個好的拉取請求大致遵循和提交說明相同的規則。如果你的工作是修復某個問題,可以加上 issue 的參考,格式是 # 後面接問題號碼。例如 #97。
🤞希望所有檢查通過,且專案擁有者能將你的變更合併進專案🤞
用以下指令更新你當前的本地工作分支,將 GitHub 上對應遠端分支的所有新提交拉下來:
git pull
貢獻開源專案(你改變世界的機會!)
準備好迎接讓你驚嘆的新世界了嗎?🤯 來談談如何參與開源貢獻吧 —— 光是想著能和你分享這些內容我就起雞皮疙瘩了!
這是你成為真正偉大事物一部分的機會。想像一下,改善數百萬開發者每天使用的工具,或者修正你朋友們都愛用的應用程式的錯誤。這不只是一場夢想 —— 這就是開源貢獻的精髓!
讓我每次想到都感到顫慄的是:你所學的每個工具 —— 你的程式碼編輯器、我們將探索的框架,甚至你正在閱讀本文的瀏覽器 —— 都是由像你一樣的人首次貢獻開始。那位打造你最愛 VS Code 擴充功能的優秀開發者?他們曾經也是充滿忐忑地按下「建立拉取請求」按鈕的初學者,就像你現在一樣。
最美好的部分是:開源社群就像網路上最大的群體擁抱。大多數專案都積極尋找新手,並且有標示為「good first issue」的議題,就是專門為你這樣的初學者準備!維護者看到新貢獻者時會非常興奮,因為他們記得自己也從第一次踏出第一步開始。
flowchart TD
A[🔍 探索 GitHub] --> B[🏷️ 尋找 "good first issue"]
B --> C[📖 閱讀貢獻指南]
C --> D[🍴 分叉倉庫]
D --> E[💻 設置本地環境]
E --> F[🌿 建立功能分支]
F --> G[✨ 做出你的貢獻]
G --> H[🧪 測試你的更改]
H --> I[📝 撰寫清晰提交訊息]
I --> J[📤 推送並建立 PR]
J --> K[💬 參與反饋交流]
K --> L[🎉 合併成功!你成為了貢獻者!]
L --> M[🌟 尋找下一個議題]
style A fill:#e1f5fe
style L fill:#c8e6c9
style M fill:#fff59d
你不只是學寫程式,更是在準備加入一個每天早上醒來就思考「我們怎麼讓數位世界變得更好一點?」的全球創作者大家庭。歡迎加入!🌟
首先,我們來找一個你感興趣並想貢獻變更的 GitHub 儲存庫(repo)。你需要將它的內容複製到你的電腦。
✅ 找到「新手友好」的 repo 一個好方法是使用 'good-first-issue' 標籤搜尋。
複製代碼有好幾種方式。最常見的是使用 HTTPS、SSH 或 GitHub CLI(命令列工具)「克隆」該儲存庫內容。
打開你的終端機並這樣克隆儲存庫:
# 使用 HTTPS
git clone https://github.com/ProjectURL
# 使用 SSH(需要設定 SSH 金鑰)
git clone git@github.com:username/repository.git
# 使用 GitHub CLI
gh repo clone username/repository
要在專案內工作,切換到正確資料夾:
cd ProjectURL
你也可以開啟整個專案:
- GitHub Codespaces - GitHub 的雲端開發環境,可在瀏覽器中使用 VS Code
- GitHub Desktop - 用於 Git 操作的圖形使用者介面應用程式
- GitHub.dev - 任何 GitHub repo 按下
.鍵即可在瀏覽器開啟 VS Code - 搭配 GitHub 拉取請求擴充功能的 VS Code
最後,你可以下載壓縮檔形式的代碼。
關於 GitHub 的更多有趣事
你可以對任何公開 repo 加星標、訂閱觀察和/或「fork」它們。加星的 repo 可以在右上角的下拉選單找到,這就像書籤,但用於程式碼。
專案有譯題追蹤器,通常是在 GitHub 的「Issues」標籤頁(除非另有說明),用來討論專案相關問題。拉取請求標籤是用來討論和審查正在進行的改動。
有些專案還會在論壇、郵件列表或聊天頻道(像 Slack、Discord 或 IRC)進行討論。
🔧 現代 GitHub 功能:
- GitHub Discussions - 內建的社群討論區
- GitHub Sponsors - 財務支持維護者
- Security tab - 漏洞報告與安全公告
- Actions tab - 查看自動化工作流程及 CI/CD 管線
- Insights tab - 關於貢獻者、提交和專案健康度的分析
- Projects tab - GitHub 內建的專案管理工具
✅ 四處逛逛你的新 GitHub repo,試試修改設定、添加資訊、建立專案(如看板)、設定 GitHub Actions 來自動化。你能做的事非常多!
🚀 挑戰
好了,現在是測試你閃亮新 GitHub 超能力的時刻了!🚀 這項挑戰會讓一切以最令人滿足的方式連結起來:
找一個朋友(或那位一直問你在做什麼「電腦東西」的家人)一起展開協同編程冒險吧!這就是魔法所在 —— 建立一個專案,讓他們 fork,建立一些分支,像專業人士一樣合併變更。
說實話 —— 你們絕對會笑翻(尤其是當你們試圖同時更改同一行),可能還會被搞得抓頭困惑,但你一定會體驗到那些令人驚豔的「啊哈!」時刻,讓所有學習都變得值得。此外,與人分享第一次成功合併有著特別的意義 —— 它像是在慶祝你已走多遠!
還沒有編程夥伴?完全沒問題!GitHub 社群熱情友善,他們都記得當初自己也是新手。找標記「good first issue」的儲存庫 —— 這基本上是在說「嘿,新手,來和我們一起學吧!」多棒啊!
課後小測
複習並持續學習
呼!🎉 看你多棒 —— 你剛剛像冠軍一樣征服了 GitHub 基礎!如果你現在覺得腦子有點爆炸,那是很正常,說實話這也是好事。你剛剛學到的工具,是我當初花了好幾週才習慣的。
Git 和 GitHub 非常強大(真的很強),我認識的每位開發者 —— 包括現在看起來像魔法師的那些 —— 都必須練習和摸索一段時間才有突破。你能順利完成這堂課,代表你已經踏上掌握開發者工具箱中最重要工具的旅程。
以下是一些超棒的資源,幫助你練習並變得更棒:
別忘了:練習促成進步,而非完美!你使用 Git 和 GitHub 越多,就越自然。GitHub 創建了很多有趣的互動課程,讓你在安全環境中練習:
想更冒險一點?試試這些現代工具:
- GitHub CLI 文件 —— 讓你感覺像指令列大師
- GitHub Codespaces 文件 —— 雲端程式編輯體驗!
- GitHub Actions 文件 —— 自動化一切
- Git 最佳實踐 —— 升級你的工作流程
GitHub Copilot Agent 挑戰 🚀
使用 Agent 模式完成以下挑戰:
說明: 建立一個合作式網頁開發專案,展示你在本課程學到的完整 GitHub 工作流程。這個挑戰幫助你練習儲存庫建立、協作特性,以及現代 Git 工作流程,在實際場景中操練。
提示: 建立一個新的公開 GitHub 儲存庫,名為「Web Development Resources(網頁開發資源)」。儲存庫應包含結構良好的 README.md,列出有用的網頁開發工具和資源,依照不同類別(HTML、CSS、JavaScript 等)組織。按社群標準設定儲存庫,包括授權、貢獻指南和行為準則。至少建立兩個功能分支:一個新增 CSS 資源、另一個新增 JavaScript 資源。分別在各分支做有描述的提交,然後發出拉取請求合併回 main。啟用 GitHub 功能,例如 Issues、Discussions,並建立基本的 GitHub Actions 工作流程做自動化檢查。
作業
你的任務(如果你願意接受):完成 GitHub Skills 的 GitHub 入門 課程。這個互動課程讓你在安全且有指導的環境中練習所學。完成後還能獲得酷炫徽章!🏅
想挑戰更多?
- 為 GitHub 帳號設定 SSH 認證(不用再輸入密碼!)
- 嘗試使用 GitHub CLI 執行日常 Git 操作
- 建立一個有 GitHub Actions 工作流程的儲存庫
- 嘗試用雲端編輯器 GitHub Codespaces 開啟本儲存庫
🚀 你的 GitHub 精通時間表
⚡ 接下來 5 分鐘你可以做的事
- 給這個儲存庫和另外三個你感興趣的專案加星標
- 為你的 GitHub 帳戶設定雙重身份驗證
- 為你第一個儲存庫創建簡單的 README
- 追蹤 5 位令你受啟發的開發者
🎯 接下來一小時你可以完成的目標
- 完成課後小測並反思你的 GitHub 旅程
- 設定 SSH 金鑰,實現免密碼登入 GitHub
- 做出你的第一個有意義的提交並寫好提交訊息
- 探索 GitHub「Explore」分頁,發掘熱門專案
- 練習 fork 一個儲存庫並做小改動
📅 你的一週 GitHub 冒險
- 完成 GitHub Skills 課程(GitHub 入門、Markdown)
- 對開源專案提出第一個拉取請求
- 設置 GitHub Pages 網站展示你的作品
- 參與你感興趣專案的 GitHub Discussions
- 建立具社群標準(README、授權等)的儲存庫
- 嘗試使用 GitHub Codespaces 進行雲端開發
🌟 你的一月蛻變
- 對 3 個不同開源項目做出貢獻
- 輔導一位 GitHub 新手(回饋社群!)
- 設定 GitHub Actions 自動化工作流程
- 建立展示 GitHub 貢獻的作品集
- 參加 Hacktoberfest 或類似社群活動
- 成為自己開源專案的維護者,讓他人貢獻
🎓 最終 GitHub 精通回顧
慶祝你走過的路:
- 你最喜歡使用 GitHub 的哪個部分?
- 哪個協作功能最讓你興奮?
- 你現在對參與開源貢獻有多大信心?
- 你想要貢獻的第一個專案是什麼?
journey
title 你的 GitHub 信心之旅
section 今日
緊張: 3: 你
好奇: 4: 你
興奮: 5: 你
section 本週
練習中: 4: 你
貢獻中: 5: 你
聯繫中: 5: 你
section 下個月
合作中: 5: 你
領導中: 5: 你
啟發他人: 5: 你
🌍 歡迎加入全球開發者社群! 你現在擁有和全球數百萬開發者合作的工具。你的第一次貢獻看似微小,但別忘了 —— 每個重大開源專案都是從某個人首次提交開始的。問題不是你是否能產生影響,而是什麼令人驚嘆的專案將率先受益於你獨特的視角!🚀
記住:每位專家都曾是新手。你可以的!💪
免責聲明:
本文件由 AI 翻譯服務 Co-op Translator 進行翻譯。我們雖力求準確,但請注意自動翻譯可能存在錯誤或不準確之處。原始文件的母語版本應視為權威來源。對於重要資訊,建議採用專業人工翻譯。因使用本翻譯所產生之任何誤解或誤讀,我們概不負責。



