跳轉到

2.2 查看與比對歷史#

查看提交紀錄:git log --oneline#

git log

完整版的 git log 資訊很多(作者、日期、完整訊息)。日常更常用簡潔版:

git log --oneline

輸出範例:

a1b2c3d (HEAD -> main) 修正登入頁無法送出的問題
e4f5g6h 新增使用者登入功能
i7j8k9l 專案初始化
  • 最上面是最新的提交
  • HEAD -> main 表示你目前在 main 分支的最新提交上
  • 前面的亂碼是 commit 的雜湊值(取前 7 碼即可代表)

常用的組合:

git log --oneline --graph   # 帶分支圖形
git log --oneline -5        # 只看最近 5 筆

比對程式碼差異:git diff#

git diff 顯示「還沒 add 的變更」:

git diff

輸出範例:

- print("hello")
+ print("hello world")

- 開頭是被刪掉(原本)的行,+ 開頭是新加上的行。

常用的幾種比對:

git diff                  # 工作區 vs 暫存區(還沒 add 的變更)
git diff --staged         # 暫存區 vs 上次 commit(已 add 還沒 commit 的變更)
git diff a1b2c3d e4f5g6h  # 比較兩個歷史版本

習慣養成:commit 之前先 git diff 掃一眼,確認沒有不小心夾帶 debug 程式碼或機密資訊。