Git 中比較兩個提交之間的差異

Abdul Jabbar 2023年1月30日
  1. git diff 命令
  2. git diff 提交之間
Git 中比較兩個提交之間的差異

Git 是當今時代要求最高的版本控制系統。當我們需要將倉庫中的某些資料與另一個倉庫中可用的其他資料來源進行比較時,我們有時會遇到這種情況,在這裡我們將討論如何比較這些倉庫的其中一個示例。

本文將通過 Git 中的 git diff 命令比較兩個不同的提交。

git diff 命令

命令 git diff 用於顯示索引和/或工作樹之間的更改、兩種不同型別的樹之間的更改、由於合併而發生的更改、兩個 blob 物件之間發生的更改,或者可能是更改在同一磁碟上的兩個不同檔案之間。我們還可以看到檔案中包含、刪除和替換了哪些文字。

git diff 命令的語法如下所示。

git diff

上面的命令顯示了對我們當前倉庫的任何未提交的更改,這是預設選項。

git diff 提交之間

對於我們每天面臨的每一種情況,Git 都有廣泛的命令。為了檢查兩次提交之間的差異,Git 提供的命令是 git diff,它啟用了 Git 中的 diffing 功能。

該功能是通過將兩個變數作為輸入,然後呈現它們之間的變化來執行的;變數是檔案在其各自分支中的提交。

在這裡,我們將比較兩個 Git 提交之間的檔案,並指定引用我們要比較的提交的 ref 名稱。在這裡,一個 ref 可以被認為是一個提交 ID 或一個 HEAD,直接引用最近的分支。

上面討論的情況的語法如下。

git diff <commit1> <commit2>

我們將提供提交雜湊以檢視兩個提交之間的差異。提交雜湊可以是完整的 SHA-1 雜湊、少量 SHA-1 雜湊或祖先路徑。

例如,我們正在比較 Git 倉庫中的兩個提交。為了恢復我們想要比較其檔案的提交的 ID,我們將執行命令 git log –pretty=oneline;它將給出我們目前擁有的 repo 中所有提交的簡明結果。

git log --pretty=oneline

此命令的結果將是:

5141eaasasw323asassa2408bfcaassasa2323240 (HEAD ->; master) feat: Update README.md
3405340easagsdsaasa3232232395f1c2e docs: Create README.md

假設我們要比較這兩個提交。我們將執行以下命令。

git diff 5141ea9c41qwqwqwqw3232saas3322323223a910f2405240 3405340ee99df2aa6f5a23aswwqwqqwqwqw95f1c2e

正如我們所看到的,diffing 將通過上述命令在我們想要比較的兩個提交中執行,結果將顯示這兩個檔案的不同之處。

作者: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

相關文章 - Git Diff