Git diffgit
用於比較兩次修改的差別app
1.1 比較工做區與暫存區
spa
git diff 不加參數即默認比較工做區與暫存區it
1.2 比較暫存區與最新本地版本庫(本地庫中最近一次commit的內容)ast
git diff --cached [<path>...] file
1.3 比較工做區與最新本地版本庫命名
git diff HEAD [<path>...] 若是HEAD指向的是master分支,那麼HEAD還能夠換成masterapply
1.4 比較工做區與指定commit-id的差別di
git diff commit-id [<path>...] 文件
1.5 比較暫存區與指定commit-id的差別
git diff --cached [<commit-id>] [<path>...]
1.6 比較兩個commit-id之間的差別
git diff [<commit-id>] [<commit-id>]
1.7 使用git diff打補丁
git diff > patch //patch的命名是隨意的,不加其餘參數時做用是當咱們但願將咱們本倉庫工做區的修改拷貝一份到其餘機器上使用,可是修改的文件比較多,拷貝量比較大,
此時咱們能夠將修改的代碼作成補丁,以後在其餘機器上對應目錄下使用 git apply patch 將補丁打上便可
git diff --cached > patch //是將咱們暫存區與版本庫的差別作成補丁
git diff --HEAD > patch //是將工做區與版本庫的差別作成補丁
git diff Testfile > patch//將單個文件作成一個單獨的補丁
拓展:git apply patch 應用補丁,應用補丁以前咱們能夠先檢驗一下補丁可否應用,git apply --check patch 若是沒有任何輸出,那麼表示能夠順利接受這個補丁
另外能夠使用git apply --reject patch將能打的補丁先打上,有衝突的會生成.rej文件,此時能夠找到這些文件進行手動打補丁