git diff 比較差異


說明

以下命令可以不指定 <filename>,表示對全部文件操作。 命令涉及和 Git本地倉庫對比的,均可指定 commit 的版本。

  • HEAD 最近一次 commit
  • HEAD^ 上次提交
  • HEAD~100 上100次提交
  • commit版本是每次提交產生的哈希值

工作區 vs 暫存區

查看文件在工作目錄與暫存區的差別。如果還沒 add 進暫存區,則查看文件自身修改前后的差別。也可查看和另一分支的區別。

git diff <filename>

暫存區 vs 本地倉庫

查看已經 add 進暫存區但是尚未 commit 的內容同最新一次 commit 時的內容的差異。 也可以指定倉庫版本

git diff --cached <filename>

工作區 vs 本地倉庫

git diff <commit> <filename>

查看工作區同本地倉庫指定 commit 的內容的差異。 <commit>=HEAD 時:查看工作目錄同最近一次 commit 的內容的差異。

git diff HEAD^ <文件名>

則顯示上一次提交之前工作目錄與git倉庫之間的差異。所以我們在git pull后,可以通過git diff HEAD^來查看拉下來的文件有那些具體的修改。

Git本地倉庫 vs Git本地倉庫

Git倉庫任意兩次 commit 之間的差別。

git diff <commit> <commit>

分支 vs 分支

#顯示出所有有差異的文件的詳細差異
git diff <branchA> <branchB>

#比較當前分支時可省略
git diff <目標分支>

# 比較A分支中有B分支沒有的提交記錄
git log branchA ^branchB    

#顯示出branch1和branch2中差異的部分
git diff branch1 branch2 --stat

#生成一個.diff文件記錄所有差異
git diff [branchA] [branchB] >>d:/diff/exportname.diff


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM