跳到主內容

Git Command

這會列出所有設定過的 remote 名稱及其對應的 URL — 包含 fetch (抓取) 跟 push (推送) 的 URL。
git remote -v
顯示 remote 的 fetch/push URL、HEAD branch、remote branches、local-remote 分支對應、追蹤 (tracking) 狀態等
git remote show origin
可以直接打開 code .git/config
git branch 看分支

git restore . 還原 commit 

git branch -d 分支名稱

把 GitLab 專案同步下載到本機(local)

git pull

強制推送指令 覆蓋遠端的 dev
git push --force origin dev  

📝 Git 常用指令總覽

 

Git 是目前最流行的分散式版本控制系統。以下為您整理了日常開發中,從專案初始化、基本操作到進階協作最常用的 Git 指令,並附帶簡要說明。


 

🚀 一、專案設定與初始化 (Setup & Init)

 

指令 說明
git config --global user.name "Your Name" 設定全域使用者名稱。
git config --global user.email "email@example.com" 設定全域使用者 Email。
git init 在當前目錄初始化一個新的 Git 倉庫。
git clone <URL> 複製一個遠端倉庫到本地。

 

📂 二、基礎工作流程 (Basic Workflow)

 

這是您日常開發中最常用到的指令。

指令 說明
git status 檢查工作目錄和暫存區的狀態(哪些檔案被修改、哪些未追蹤)。
git add <file> 將指定的檔案從工作目錄添加到暫存區 (Staging Area)
git add . 將所有變更過的檔案添加到暫存區。
git commit -m "Commit Message" 將暫存區的內容提交到本地倉庫,並加上描述訊息。
git commit -am "Commit Message" 跳過暫存區,直接將所有已追蹤的修改提交。
git rm <file> 從工作目錄和暫存區中刪除檔案,並記錄刪除操作。

 

🕰️ 三、查看歷史記錄與差異 (History & Diffs)

 

指令 說明
git log 查看完整的提交歷史記錄。
git log --oneline 以單行簡潔格式顯示提交歷史。
git diff 比較工作目錄與暫存區之間的差異。
git diff --cached 比較暫存區與最近一次提交之間的差異。
git diff HEAD 比較工作目錄與最近一次提交之間的差異。

 

🌳 四、分支操作 (Branching)

 

分支是 Git 的核心功能,用於隔離開發工作。

指令 說明
git branch 列出所有本地分支,當前分支前有 * 標記。
git branch <new-branch> 建立一個新的本地分支。
git checkout <branch-name> 切換到指定分支。
git checkout -b <new-branch> 建立並立即切換到新的本地分支(常用)。
git branch -d <branch-name> 刪除指定的本地分支(該分支必須已合併)。
git merge <branch-name> 將指定分支的內容合併到當前分支。

 

🔄 五、遠端協作 (Remote & Sync)

 

用於與 GitLab、GitHub 等遠端倉庫進行互動。

指令 說明
git remote -v 查看所有已配置的遠端倉庫名稱及 URL。
git fetch <remote> 從遠端倉庫下載資料,但不自動合併到本地。
git pull 下載並自動合併遠端分支的內容到當前本地分支(相當於 git fetch + git merge)。
git push <remote> <branch> 將本地分支的提交推送到遠端倉庫。
git push -u origin <branch> 首次推送時設定本地分支追蹤遠端分支。

 

↩️ 六、還原與撤銷操作 (Undoing Changes)

 

Git 讓您可以安全地撤銷錯誤操作。

指令 說明
git reset HEAD <file> 取消暫存區中指定檔案的變更(將檔案從暫存區移回工作目錄)。
git checkout -- <file> 捨棄工作目錄中指定檔案的未暫存修改(回到最近一次提交或暫存的狀態)。
git revert <commit-hash> 創建一個新的提交,來撤銷指定提交所做的更改(保留歷史記錄)。
git reset --hard <commit-hash> 危險操作! 永久丟棄當前分支後續的所有提交,將 HEAD 指向指定提交。
git stash 暫存當前工作目錄的變更,讓工作目錄回到乾淨狀態,方便切換分支。
git stash pop 重新應用最近一次暫存的變更。