這篇文章主要講解了“如何查看Git提交中發(fā)生了什么變化”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何查看Git提交中發(fā)生了什么變化”吧!
成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站建設(shè)、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的柳城網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
要想知道指定提交中哪些文件發(fā)生變化,可以使用 git log --raw
命令。這是發(fā)現(xiàn)一個提交影響了哪些文件的最快速、最方便的方法。git log
命令一般都沒有被充分利用,主要是因為它有太多的格式化選項,許多用戶在面對很多選擇以及在一些情況下不明所以的文檔時,會望而卻步。
然而,Git 的日志機(jī)制非常靈活,--raw
選項提供了當(dāng)前分支中的提交日志,以及更改的文件列表。
以下是標(biāo)準(zhǔn)的 git log
輸出:
$ git logcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tuxDate: Sun Nov 5 21:40:37 2020 +1300 exit immediately from failed download commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)Author: Tux Date: Fri Aug 5 02:05:19 2020 +1200 export makeopts from etc/example.conf commit 76b7b46dc53ec13316abb49cc7b37914215acd47Author: Tux Date: Sun Jul 31 21:45:24 2020 +1200 fix typo in help message
即使作者在提交消息中指定了哪些文件發(fā)生變化,日志也相當(dāng)簡潔。
以下是 git log --raw
輸出:
$ git log --rawcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tuxDate: Sun Nov 5 21:40:37 2020 +1300 exit immediately from failed download :100755 100755 cbcf1f3 4cac92f M src/example.lua commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)Author: Tux Date: Fri Aug 5 02:05:19 2020 +1200 export makeopts from etc/example.conf :100755 100755 4c815c0 cbcf1f3 M src/example.lua:100755 100755 71653e1 8f5d5a6 M src/example.spec:100644 100644 9d21a6f e33caba R100 etc/example.conf etc/example.conf-default commit 76b7b46dc53ec13316abb49cc7b37914215acd47Author: Tux Date: Sun Jul 31 21:45:24 2020 +1200 fix typo in help message :100755 100755 e253aaf 4c815c0 M src/example.lua
這會準(zhǔn)確告訴你哪個文件被添加到提交中,哪些文件發(fā)生改變(A
是添加,M
是修改,R
是重命名,D
是刪除)。
git whatchanged
命令是一個遺留命令,它的前身是日志功能。文檔說用戶不應(yīng)該用該命令替代 git log --raw
,并且暗示它實質(zhì)上已經(jīng)被廢棄了。不過,我還是覺得它是一個很有用的捷徑,可以得到同樣的輸出結(jié)果(盡管合并提交的內(nèi)容不包括在內(nèi)),如果它被刪除的話,我打算為它創(chuàng)建一個別名。如果你只想查看已更改的文件,不想在日志中看到合并提交,可以嘗試 git whatchanged
作為簡單的助記符。
你不僅可以看到哪些文件發(fā)生更改,還可以使用 git log
顯示文件中發(fā)生了哪些變化。你的 Git 日志可以生成一個內(nèi)聯(lián)差異,用 --patch
選項可以逐行顯示每個文件的所有更改:
commit 62a2daf8411eccbec0af69e4736a0fcf0a469ab1 (HEAD -> master)Author: TuxDate: Wed Mar 10 06:46:58 2021 +1300 commit diff --git a/hello.txt b/hello.txtindex 65a56c3..36a0a7d 100644--- a/hello.txt+++ b/hello.txt@@ -1,2 +1,2 @@ Hello-world+opensource.com
在這個例子中,“world” 這行字從 hello.txt
中刪掉,“opensource.com” 這行字則添加進(jìn)去。
如果你需要在其他地方手動進(jìn)行相同的修改,這些可以與常見的 Unix 命令一起使用,例如 diff 與 patch。補(bǔ)丁也是一個好方法,可以總結(jié)指定提交中引入新信息的重要部分內(nèi)容。當(dāng)你在沖刺階段引入一個 bug 時,你會發(fā)現(xiàn)這里的內(nèi)容就是非常有價值的概述。為了更快地找到錯誤的原因,你可以忽略文件中沒有更改的部分,只檢查新代碼。
你不必理解引用、分支和提交哈希,就可以查看提交中更改了哪些文件。你的 Git 日志旨在向你報告 Git 的活動,如果你想以特定方式格式化它或者提取特定的信息,通常需要費(fèi)力地瀏覽許多文檔來組合出正確的命令。幸運(yùn)的是,關(guān)于 Git 歷史記錄最常用的請求之一只需要一兩個選項:--raw
與 --patch
。如果你不記得 --raw
,就想想“Git,什么改變了?”,然后輸入 git whatchanged
。
感謝各位的閱讀,以上就是“如何查看Git提交中發(fā)生了什么變化”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何查看Git提交中發(fā)生了什么變化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!