今天上Git,有別前幾天的看影片,今天是邊聽課,邊看影片,邊實作。老師教得很基礎,所以還額外去補了一些額外的知識,不過基礎的其實就很夠用了。
既然教了Git,就代表我也要把我的程式碼也丟上去倉庫裡面惹。
今天有個新想法,就是使用思維導圖,來看看我的小專題系統。
Git 基本觀念
- Git 的用途:
- 版本控制工具,用於管理程式碼及追蹤檔案變更。
- 可與遠端數據庫(如 GitHub)同步,便於團隊協作。
- 常用術語:
- 本機倉庫:儲存在你電腦上的 Git 資料庫。
- 遠端倉庫:儲存在雲端(如 GitHub)的資料庫。
- 工作目錄:目前正在編輯的檔案位置。
- 暫存區(Staging Area):準備提交的檔案清單。
- 提交(Commit):將檔案變更記錄到本機倉庫。
- 操作流程:
- 編輯檔案。
- 將檔案加入暫存區(
git add
)。 - 提交變更至本機倉庫(
git commit
)。 - 推送到遠端倉庫(
git push
)。
常用 Git 指令速查表
基礎設定
用途 | 指令 | 範例 |
---|---|---|
查看 Git 版本 | git version | git version |
查看目前使用者名稱與信箱 | git config --global user.name | git config --global user.email |
設定使用者名稱與信箱 | git config --global user.name "名稱" | git config --global user.name "luffy123" |
清除使用者名稱與信箱 | git config --global --unset user.name | git config --global --unset user.email |
版本控制指令
用途 | 指令 | 範例 |
---|---|---|
查看工作目錄及暫存區狀態 | git status | git status |
將指定檔案加入暫存區 | git add 檔案名稱 | git add pokemon.html |
將所有檔案加入暫存區 | git add . | git add . |
提交檔案至本機倉庫(含訊息) | git commit -m "訊息" | git commit -m "新增第一版" |
查看版本紀錄 | git log | git log |
簡化顯示版本紀錄 | git log --oneline | git log --oneline |
比較工作目錄和暫存區的差異 | git diff | git diff |
遠端操作
用途 | 指令 | 範例 |
---|---|---|
複製(下載)遠端倉庫到本機 | git clone 數據庫位址 | git clone <https://github.com/user/repo.git > |
推送本機倉庫到遠端 | git push | git push origin main |
提取遠端倉庫最新檔案 | git pull | git pull origin main |
查看遠端倉庫位址 | git remote -v | git remote -v |
新增遠端倉庫別名 | git remote add 別名 數據庫位址 | git remote add origin <https://github.com/user/repo.git > |
分支管理
用途 | 指令 | 範例 |
---|---|---|
查看分支 | git branch | git branch |
建立新分支 | git branch 分支名稱 | git branch feature |
切換分支 | git checkout 分支名稱 | git checkout feature |
建立並切換到新分支 | git checkout -b 分支名稱 | git checkout -b feature |
刪除分支 | git branch -d 分支名稱 | git branch -d feature |
合併分支 | git merge 分支名稱 | git merge feature |
實際應用流程範例
以下是一個完整流程範例:
- 設定使用者資訊:
bash 複製程式碼 git config --global user.name "你的名稱" git config --global user.email "你的信箱"
- 從 GitHub 複製數據庫到本機:
bash 複製程式碼 git clone <https://github.com/user/repo.git> cd repo
- 新增檔案並提交:
- 新增檔案
index.html
。
bash 複製程式碼 git add index.html git commit -m "新增首頁"
- 新增檔案
- 推送到遠端倉庫:
bash 複製程式碼 git push origin main
目標與流程總覽
編輯檔案並推送新版本:
- 編輯檔案。
- 將修改放入暫存區(
git add
)。 - 提交到本機倉庫(
git commit
)。 - 推送到遠端倉庫(
git push
)。
版本回滾與捨棄變更:
- 查看版本紀錄,記下版本的雜湊值(
git log --oneline
)。 - 使用
git revert
回到指定版本。 - 提交回滾結果並推送到遠端倉庫。
分支操作:
- 建立並切換分支(
git branch
/git checkout
)。 - 在新分支上進行開發。
- 合併分支到主要分支(
git merge
)。 - 推送更新到遠端倉庫。
同步與衝突解決:
- 提取遠端最新內容(
git pull
)。 - 解決合併衝突並提交結果。
- 推送更新到遠端倉庫。
基本版本控制
用途 | 指令 | 範例 |
---|---|---|
查看版本紀錄 | git log / git log --oneline | git log --oneline |
比較檔案差異 | git diff / git diff --cached | git diff |
提交檔案到本機倉庫 | git commit -m "訊息" | git commit -m "新增左上區塊" |
推送更新到遠端倉庫 | git push | git push origin main |
分支管理
用途 | 指令 | 範例 |
---|---|---|
建立分支 | git branch 分支名稱 | git branch cat |
切換分支 | git checkout 分支名稱 | git checkout cat |
建立並切換分支 | git checkout -b 分支名稱 | git checkout -b new-feature |
合併分支 | git merge 分支名稱 | git merge cat |
同步與衝突解決
用途 | 指令 | 範例 |
---|---|---|
提取遠端內容 | git pull | git pull origin main |
解決衝突並提交 | 編輯檔案 → 解決衝突 → 提交 | git commit -m "解決衝突後的結果" |