怎么查看Git提交中發(fā)生了什么變化

本篇內(nèi)容介紹了“怎么查看 Git 提交中發(fā)生了什么變化”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)公司、網(wǎng)頁(yè)設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站營(yíng)銷、小程序App開發(fā)等移動(dòng)開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都柔性防護(hù)網(wǎng)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

如果你每天使用 Git,應(yīng)該會(huì)提交不少改動(dòng)。如果你每天和其他人在一個(gè)項(xiàng)目中使用 Git,假設(shè) 每個(gè)人 每天的提交都是安全的,你會(huì)意識(shí)到 Git 日志會(huì)變得多么混亂,似乎永恒地滾動(dòng)著變化,卻沒(méi)有任何跡象表明修改了什么。

那么,你該怎樣查看指定提交中文件發(fā)生哪些變化?這比你想的容易。

查看提交中文件發(fā)生的變化

要想知道指定提交中哪些文件發(fā)生變化,可以使用 git log --raw 命令。這是發(fā)現(xiàn)一個(gè)提交影響了哪些文件的最快速、最方便的方法。git log 命令一般都沒(méi)有被充分利用,主要是因?yàn)樗刑嗟母袷交x項(xiàng),許多用戶在面對(duì)很多選擇以及在一些情況下不明所以的文檔時(shí),會(huì)望而卻步。

然而,Git 的日志機(jī)制非常靈活,--raw 選項(xiàng)提供了當(dāng)前分支中的提交日志,以及更改的文件列表。

以下是標(biāo)準(zhǔn)的 git log 輸出:

$ git logcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tux <tux@example.com>Date:   Sun Nov 5 21:40:37 2020 +1300     exit immediately from failed download commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)Author: Tux <tux@example.com>Date:   Fri Aug 5 02:05:19 2020 +1200     export makeopts from etc/example.conf commit 76b7b46dc53ec13316abb49cc7b37914215acd47Author: Tux <tux@example.com>Date:   Sun Jul 31 21:45:24 2020 +1200     fix typo in help message

即使作者在提交消息中指定了哪些文件發(fā)生變化,日志也相當(dāng)簡(jiǎn)潔。

以下是 git log --raw 輸出:

$ git log --rawcommit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)Author: tux <tux@example.com>Date:   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 <tux@example.com>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 <tux@example.com>Date:   Sun Jul 31 21:45:24 2020 +1200     fix typo in help message :100755 100755 e253aaf 4c815c0 M        src/example.lua

這會(huì)準(zhǔn)確告訴你哪個(gè)文件被添加到提交中,哪些文件發(fā)生改變(A 是添加,M 是修改,R 是重命名,D 是刪除)。

Git whatchanged

git whatchanged 命令是一個(gè)遺留命令,它的前身是日志功能。文檔說(shuō)用戶不應(yīng)該用該命令替代 git log --raw,并且暗示它實(shí)質(zhì)上已經(jīng)被廢棄了。不過(guò),我還是覺(jué)得它是一個(gè)很有用的捷徑,可以得到同樣的輸出結(jié)果(盡管合并提交的內(nèi)容不包括在內(nèi)),如果它被刪除的話,我打算為它創(chuàng)建一個(gè)別名。如果你只想查看已更改的文件,不想在日志中看到合并提交,可以嘗試 git whatchanged 作為簡(jiǎn)單的助記符。

查看變化

你不僅可以看到哪些文件發(fā)生更改,還可以使用 git log 顯示文件中發(fā)生了哪些變化。你的 Git 日志可以生成一個(gè)內(nèi)聯(lián)差異,用 --patch 選項(xiàng)可以逐行顯示每個(gè)文件的所有更改:

commit 62a2daf8411eccbec0af69e4736a0fcf0a469ab1 (HEAD -> master)Author: Tux <Tux@example.com>Date:   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

在這個(gè)例子中,“world” 這行字從 hello.txt 中刪掉,“opensource.com” 這行字則添加進(jìn)去。

如果你需要在其他地方手動(dòng)進(jìn)行相同的修改,這些補(bǔ)丁patch可以與常見(jiàn)的 Unix 命令一起使用,例如 diff 與 patch。補(bǔ)丁也是一個(gè)好方法,可以總結(jié)指定提交中引入新信息的重要部分內(nèi)容。當(dāng)你在沖刺階段引入一個(gè) bug 時(shí),你會(huì)發(fā)現(xiàn)這里的內(nèi)容就是非常有價(jià)值的概述。為了更快地找到錯(cuò)誤的原因,你可以忽略文件中沒(méi)有更改的部分,只檢查新代碼。

用簡(jiǎn)單命令得到復(fù)雜的結(jié)果

你不必理解引用、分支和提交哈希,就可以查看提交中更改了哪些文件。你的 Git 日志旨在向你報(bào)告 Git  的活動(dòng),如果你想以特定方式格式化它或者提取特定的信息,通常需要費(fèi)力地瀏覽許多文檔來(lái)組合出正確的命令。幸運(yùn)的是,關(guān)于 Git  歷史記錄最常用的請(qǐng)求之一只需要一兩個(gè)選項(xiàng):--raw 與 --patch。如果你不記得 --raw,就想想“Git,什么改變了?”,然后輸入 git whatchanged。

“怎么查看 Git 提交中發(fā)生了什么變化”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

名稱欄目:怎么查看Git提交中發(fā)生了什么變化
鏈接地址:http://bm7419.com/article14/jdicde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、ChatGPT、網(wǎng)站營(yíng)銷、營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)