今日目標
• 把昨天建立的專案上傳到 GitHub
• 學習 git push 和 git pull
• 體驗本地與雲端同步
操作步驟
步驟1:在 GitHub 建立 Repository
在瀏覽器操作:
- 登入 GitHub (https://github.com)
- 點右上角的 "+" → 選 "New repository"
- Repository name: company-website
- Description: 我的第一個公司網站專案
- 選擇 Public(公開)
- 重要:不要勾選 "Add a README file"(我們本地已經有檔案了)
- 點 "Create repository"
步驟2:GitHub 會給你指令
建立完成後,GitHub 會顯示類似這樣的指令:
git remote add origin https://github.com/你的用戶名/company-website.git
git branch -M main
git push -u origin main
詳細解釋這三個指令的意思:
指令1:git remote add origin https://github.com/...
意思:
• git remote add = 新增一個遠端倉庫連結
• origin = 遠端倉庫的別名(慣例叫法)
• https://github.com/... = GitHub 上你專案的網址
比喻:
就像在電話簿裡新增聯絡人:
• 聯絡人名字:origin
• 電話號碼:GitHub 網址
指令2:git branch -M main
意思:
• git branch -M main = 把目前分支改名為 main
• 有些電腦預設是 master,GitHub 現在偏好 main
為什麼要這樣?
確保本地分支名稱和 GitHub 一致:
• 本地:main
• GitHub:main
指令3:git push -u origin main
意思:
• git push = 推送(上傳)
• origin = 推送到 origin(就是 GitHub)
• main = 推送 main 分支
• -u = 設定上游,以後只要打 git push 就好
比喻:
• 就像寄包裹到朋友家
• origin = 朋友的地址
• main = 包裹內容(你的程式碼)
• -u = 設定常用地址,下次寄包裹自動寄到這
補充:
Branch 是什麼?
簡單比喻:
想像你在寫一份報告:
• 主線(main 分支):正式的報告版本 (不可改)
• 草稿(feature 分支):你試驗新想法的版本 (可以改)
你可以在草稿裡亂改,不會影響正式版本!
實際工作順序是:
- 在 feature 分支開發 (草稿)
- 測試功能是否正常
- 確認沒問題後,合併到 main (正式版)
- Main 分支保持穩定
步驟3:連接本地專案到 GitHub
確保在專案資料夾內
cd company-website
檢查目前狀態
git status
添加遠端倉庫(複製你自己的 GitHub 網址)
git remote add origin https://github.com/你的用戶名/company-website.git
檢查連接是否成功
git remote -v #-v 是 --verbose 的縮寫,意思是「詳細模式」
應該顯示你的 GitHub 網址
步驟4:第一次推送到 GitHub
確保分支名稱是 main
git branch -M main
推送到 GitHub(第一次需要 -u 參數)
git push -u origin main
可能會要求輸入 GitHub 帳號密碼或 token
步驟5:驗證上傳成功
- 重新整理你的 GitHub 專案頁面
- 應該看到:
o index.html
o about.html
o css 資料夾(內含 style.css)
o js 和 images 空資料夾
步驟6:在 GitHub 網頁直接編輯(模擬同事修改)
- 在 GitHub 上點擊 "Add a README"
- 或點擊任何檔案後點 "Edit" 按鈕
- 加入一些內容,例如:
公司網站專案
這是我用來學習 Git 的練習專案。
功能
- 在網頁下方寫 commit 訊息:"新增專案說明文件"
- 點 "Commit changes"
步驟7:本地拉取雲端更新
拉取 GitHub 上的最新版本到本地
git pull origin main
檢查是否有新檔案
ls
應該看到新的 README.md 檔案
步驟8:本地修改並推送
用編輯器修改 index.html,在 最後加入:
推送到 GitHub(之後不需要 -u 參數)
git push origin main
步驟9:確認同步成功
- 在 GitHub 重新整理頁面
- 點擊 index.html 查看內容
- 應該看到新增的 footer
重要概念理解
本地 vs 遠端:
• Local Repository(本地):你電腦裡的版本
• Remote Repository(遠端):GitHub 上的版本
• 兩邊要保持同步!
核心指令:
git push origin main # 本地 → GitHub(上傳)
git pull origin main # GitHub → 本地(下載)
工作流程:
- 本地寫程式
- git add + git commit
- git push(上傳到 GitHub)
- 其他人可以 git pull(下載你的更新)
常見問題解決
Q: push 時要求帳號密碼?
A: GitHub 現在需要 Personal Access Token:
- GitHub → Settings → Developer settings → Personal access tokens
- 產生新的 token
- 用 token 當密碼
Q: 出現 "rejected" 錯誤?
A: 先 pull 再 push:
git pull origin main
git push origin main
補充:
當你遇到 "rejected" 錯誤時,通常是因為遠端倉庫有你本地沒有的更新,所以 Git 拒絕你的 push 操作來避免覆蓋別人的更改。
為什麼會出現這個錯誤?
- 其他人推送了更新 - 同事或協作者在你之後推送了新的提交
- 你在不同裝置上工作 - 例如在另一台電腦或線上編輯器修改了代碼
- GitHub 網頁端直接編輯 - 你可能在 GitHub 網站上直接修改了文件
- 分支不同步 - 本地分支落後於遠端分支
為什麼要先 pull 再 push?
git pull # 先拉取遠端更新到本地
git push # 再推送你的更改
pull 的作用:
• 下載遠端倉庫的最新更改
• 將遠端更改與你的本地更改合併
• 確保你的本地倉庫是最新狀態
這樣做的好處:
• 避免覆蓋別人的工作
• 讓 Git 自動處理可能的衝突
• 保持版本歷史的完整性
這是 Git 的一個安全機制,確保協作開發時不會意外丟失代碼。
Q: 分支名稱是 master 不是 main?
A: 沒關係,用 master:
git push origin master
今日成果檢查
• ✅ GitHub 上有你的專案
• ✅ 本地和 GitHub 內容一致
• ✅ 學會 push 和 pull 操作
• ✅ 體驗雲端協作感覺