類別:DevOps 工具
| 發布於 2025-06-25 21:06
Git 比較差異與取回檔案
比較差異
比較工作目錄和索引(暫存區)
比較索引(暫存區)和檔案庫(最後一次提交)
比較工作目錄和檔案庫(最後一次提交)
HEAD:最新提交的指標
HEAD 是 Git 中的一個特殊指標,代表當前所在分支的最新提交(commit)。當你進行切換分支、檢查歷史版本時,HEAD
就是這些操作的基礎。
顯示 HEAD 所指向的提交
移動 HEAD
注意:使用 git checkout commit_sha 切換到特定提交會進入 detached HEAD
狀態,這表示你不是處於任何分支上。
檢視先前的提交
補充說明
HEAD^ 是上一個父提交(對於 merge commit 可能有多個 parent)。
HEAD~N 表示從目前 HEAD 往回 N 次提交(僅適用於線性歷史)。
Git 比較差異與取回檔案
比較差異
比較工作目錄和索引(暫存區)
# 顯示工作目錄中的修改與暫存區(index)之間的差異 git diff比較索引(暫存區)和檔案庫(最後一次提交)
# 顯示已加入暫存區的修改與最後一次提交之間的差異 git diff --staged # 或 git diff --cached比較工作目錄和檔案庫(最後一次提交)
# 顯示工作目錄的修改與最後一次提交(HEAD)之間的差異 git diff HEADHEAD:最新提交的指標
HEAD是 Git 中的一個特殊指標,代表當前所在分支的最新提交(commit)。當你進行切換分支、檢查歷史版本時,HEAD就是這些操作的基礎。顯示 HEAD 所指向的提交
# 顯示 HEAD 所指向提交的 SHA-1 哈希值 git rev-parse HEAD移動 HEAD
# 切換到指定分支 git checkout branch_name # 切換到特定提交 git checkout commit_sha檢視先前的提交
# 檢視上一個提交 git show HEAD^ # 檢視往前第 N 次提交,例如 N=3 git show HEAD~3補充說明
HEAD^是上一個父提交(對於 merge commit 可能有多個 parent)。HEAD~N表示從目前 HEAD 往回 N 次提交(僅適用於線性歷史)。