git 恢復到最近一次 git pull狀態,取消本地修改
你可以使用以下幾種方式來將 Git 工作目錄恢復到最近一次 git pull 的狀態,取消本地的修改。這取決於你修改的是哪些內容(未加入暫存區、已加入暫存區、已建立新 commit 等):
如果你只是修改了檔案但尚未 git add 或 commit,可以使用:
git restore .
這會把所有檔案恢復成最新版本(HEAD),取消所有未暫存的修改。
如果你已經執行了 git add,但還沒 commit,可以先取消暫存:
git restore --staged .
然後再執行:
git restore .
git pull 的狀態(丟棄所有 commit)如果你已經 commit 了本地修改,但想完全回到遠端的狀態,可以使用:
git reset --hard origin/你的分支名稱
例如:
git reset --hard origin/main
這會把你的本地分支強制重設為遠端分支的狀態,所有本地 commit 和修改都會被清除。
在執行上述指令前,建議先用以下指令檢查目前的修改狀態:
git status
這樣可以確認哪些檔案已修改、哪些已暫存、是否有未推送的 commit。
| File14 | File | Last Modified |
|---|---|---|
| git 初始化與推送流程圖 | git 初始化與推送流程圖 | 1:24 AM - December 07, 2025 |
| git 中查看commit歷史資訊 | git 中查看commit歷史資訊 | 1:24 AM - December 07, 2025 |
| git 中修改檔名且保留原來commit紀錄 | git 中修改檔名且保留原來commit紀錄 | 1:24 AM - December 07, 2025 |
| git Remote 常見情境與操作 | git Remote 常見情境與操作 | 1:24 AM - December 07, 2025 |
| git GUI tool, SourceTree | git GUI tool, SourceTree | 1:23 AM - December 07, 2025 |
| 把目前repo 所有的branch都push 到github | 把目前repo 所有的branch都push 到github | 8:20 PM - December 06, 2025 |
| 把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch | 把目前 branch 上的修改(尚未 commit 的檔案)直接帶到一個新的 branch | 8:20 PM - December 06, 2025 |
| 從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題 | 從 Windows 把 repo 搬到 WSL再一次性 push 所有 branch 到GitHub 這樣就能避開 aux 檔名問題 | 8:20 PM - December 06, 2025 |
| git指定初始化的 branch 名稱 | git指定初始化的 branch 名稱 | 8:20 PM - December 06, 2025 |
| git內部完全刪除一個檔案 | git內部完全刪除一個檔案 | 8:20 PM - December 06, 2025 |
| github上的repo clone下來check out 某一個dev branch | github上的repo clone下來check out 某一個dev branch | 8:20 PM - December 06, 2025 |
| github一台電腦同時使用兩個 GitHub 帳號 | github一台電腦同時使用兩個 GitHub 帳號 | 8:20 PM - December 06, 2025 |
| github actions | github actions | 8:20 PM - December 06, 2025 |
| git 重新再從github上pull 所有branch | git 重新再從github上pull 所有branch | 8:20 PM - December 06, 2025 |