版本比較

Git 入門

George Boorman

Curriculum Manager, DataCamp

git show 輸出

git show 輸出,頂部為 git log,底部為 git diff,最下方可見錯誤的資料輸入

Git 入門

git diff

  • git diff-版本間差異

 

  • 比對最後一次提交與最新「未加入暫存區」版本
git diff report.md
Git 入門

比對未暫存檔案

git diff 輸出顯示移除 "TODO: write executive summary.",並新增 "TODO: cite funding sources"

  • 版本 B-最新版本
Git 入門

git diff 輸出

git diff 輸出,箭頭指向第 5 行「@@ -1, 5 +1, 5 @@」,代表兩個版本的起訖行

Git 入門

git diff 輸出

git diff 輸出,箭頭指向第 5 行「@@ -1, 5 +1, 5 @@」,代表兩個版本的起訖行

Git 入門

git diff 輸出

git diff 輸出註解顯示底部新增一行,為綠色

Git 入門

比對暫存檔案

  • report.md 加入暫存區
git add report.md
  • 比對 report.md 的最後提交版本與「暫存區中的版本」
git diff --staged report.md
Git 入門

比對暫存檔案

git diff --staged report.md 輸出,與先前 git diff report.md 的結果相同

Git 入門

比對多個暫存檔

  • 比對「所有暫存檔」與最後一次提交
git diff --staged

git diff --staged 輸出,顯示 mh tech survey 新增一行,以及 report 各移除與新增一行

Git 入門

比對兩個提交

  • 先找出提交雜湊

    git log
    
  • 再進行比對

    git diff 35f4b4d 186398f
    
  • 從第一個雜湊「變更到」第二個雜湊的差異

    • 較新的雜湊放在第二個
  • 最新提交的狀態=HEAD
  • 比對次新的提交與最新提交
    git diff HEAD~1 HEAD
    
Git 入門

比對兩個提交

git diff 輸出,比對最新與第三新的提交;最新版本多出一行

Git 入門

重點整理

指令 功能
git diff 顯示所有未暫存檔案與最新提交的變更
git diff report.md 顯示單一未暫存檔與最新提交的變更
git diff --staged 顯示所有暫存檔與最新提交的變更
git diff --staged report.md 顯示單一暫存檔與最新提交的變更
git diff 35f4b4d 186398f 以雜湊比對兩次提交之間的變更
git diff HEAD~1 HEAD~2 HEAD 取代雜湊比對兩次提交之間的變更
Git 入門

一起來練習吧!

Git 入門

Preparing Video For Download...