成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

查看 Git 提交中發生了什么變化

開發 后端
Git 提供了幾種方式可以幫你快速查看提交中哪些文件被改變。那么,你該怎樣查看指定提交中文件發生哪些變化?這比你想的容易。

[[392303]]

Git 提供了幾種方式可以幫你快速查看提交中哪些文件被改變。

如果你每天使用 Git,應該會提交不少改動。如果你每天和其他人在一個項目中使用 Git,假設 每個人 每天的提交都是安全的,你會意識到 Git 日志會變得多么混亂,似乎永恒地滾動著變化,卻沒有任何跡象表明修改了什么。

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

查看提交中文件發生的變化

要想知道指定提交中哪些文件發生變化,可以使用 git log --raw 命令。這是發現一個提交影響了哪些文件的最快速、最方便的方法。git log 命令一般都沒有被充分利用,主要是因為它有太多的格式化選項,許多用戶在面對很多選擇以及在一些情況下不明所以的文檔時,會望而卻步。

然而,Git 的日志機制非常靈活,--raw 選項提供了當前分支中的提交日志,以及更改的文件列表。

以下是標準的 git log 輸出:

  1. $ git log
  2. commit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)
  3. Author: tux <tux@example.com>
  4. Date: Sun Nov 5 21:40:37 2020 +1300
  5.  
  6. exit immediately from failed download
  7.  
  8. commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)
  9. Author: Tux <tux@example.com>
  10. Date: Fri Aug 5 02:05:19 2020 +1200
  11.  
  12. export makeopts from etc/example.conf
  13.  
  14. commit 76b7b46dc53ec13316abb49cc7b37914215acd47
  15. Author: Tux <tux@example.com>
  16. Date: Sun Jul 31 21:45:24 2020 +1200
  17.  
  18. fix typo in help message

即使作者在提交消息中指定了哪些文件發生變化,日志也相當簡潔。

以下是 git log --raw 輸出:

  1. $ git log --raw
  2. commit fbbbe083aed75b24f2c77b1825ecab10def0953c (HEAD -> dev, origin/dev)
  3. Author: tux <tux@example.com>
  4. Date: Sun Nov 5 21:40:37 2020 +1300
  5.  
  6. exit immediately from failed download
  7.  
  8. :100755 100755 cbcf1f3 4cac92f M src/example.lua
  9.  
  10. commit 094f9948cd995acfc331a6965032ea0d38e01f03 (origin/master, master)
  11. Author: Tux <tux@example.com>
  12. Date: Fri Aug 5 02:05:19 2020 +1200
  13.  
  14. export makeopts from etc/example.conf
  15. :100755 100755 4c815c0 cbcf1f3 M src/example.lua
  16. :100755 100755 71653e1 8f5d5a6 M src/example.spec
  17. :100644 100644 9d21a6f e33caba R100 etc/example.conf etc/example.conf-default
  18.  
  19. commit 76b7b46dc53ec13316abb49cc7b37914215acd47
  20. Author: Tux <tux@example.com>
  21. Date: Sun Jul 31 21:45:24 2020 +1200
  22.  
  23. fix typo in help message
  24.  
  25. :100755 100755 e253aaf 4c815c0 M src/example.lua

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

Git whatchanged

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

查看變化

你不僅可以看到哪些文件發生更改,還可以使用 git log 顯示文件中發生了哪些變化。你的 Git 日志可以生成一個內聯差異,用 --patch 選項可以逐行顯示每個文件的所有更改:

  1. commit 62a2daf8411eccbec0af69e4736a0fcf0a469ab1 (HEAD -> master)
  2. Author: Tux <Tux@example.com>
  3. Date: Wed Mar 10 06:46:58 2021 +1300
  4.  
  5. commit
  6.  
  7. diff --git a/hello.txt b/hello.txt
  8. index 65a56c3..36a0a7d 100644
  9. --- a/hello.txt
  10. +++ b/hello.txt
  11. @@ -1,2 +1,2 @@
  12. Hello
  13. -world
  14. +opensource.com

在這個例子中,“world” 這行字從 hello.txt 中刪掉,“opensource.com” 這行字則添加進去。

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

用簡單命令得到復雜的結果

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

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2023-03-31 08:12:30

操作系統nanosleep信號

2018-01-12 15:32:55

大數據DBA數據庫管理員

2018-07-23 14:43:56

數據庫DBAMySQL

2020-08-17 12:47:07

Mozilla裁員瀏覽器

2020-04-02 09:00:00

DevOps架構

2019-11-12 14:41:41

Redis程序員Linux

2023-11-29 16:15:48

CIOCISO

2019-08-26 09:35:25

命令ping抓包

2010-02-07 09:00:29

AndroidLinux Kerne

2012-09-28 09:34:51

ARM服務器性質

2018-01-18 09:14:42

網絡存儲變化

2021-01-18 08:23:23

內存時底層CPU

2021-03-18 09:18:35

新冠肺炎智能家居物聯網

2021-03-31 09:26:10

智能家居物聯網IOT

2023-08-29 16:26:20

Linux命令行

2015-07-03 09:27:43

網絡閏秒

2020-09-01 11:40:01

HTTPJavaTCP

2019-09-16 17:16:29

Hadoop數據湖數據結構

2022-06-03 08:12:52

InnoDB插入MySQL

2021-12-16 15:58:48

Linux內存微軟
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久人操| 日韩精品一区中文字幕 | 欧美一级免费 | 国产高清不卡 | 国精产品一品二品国精在线观看 | 91中文视频 | 国产98色在线 | 日韩 | 欧美成年视频 | 亚洲一区电影 | 91精品国产91久久综合桃花 | 美女黄视频网站 | 国产精品av久久久久久毛片 | 亚洲一区二区在线免费观看 | 亚洲午夜av久久乱码 | 亚洲精品区 | 91精品国产综合久久精品 | 精品视频免费 | 精品九九九 | 精品一区二区三区免费毛片 | 亚洲成人99 | 99精品视频在线 | 欧美二区三区 | 亚洲综合大片69999 | 国产精品欧美一区二区三区不卡 | 欧美精品在线免费 | 综合网在线 | 精品在线99 | 国产在线精品一区二区 | 成人免费看片又大又黄 | 久久国产欧美日韩精品 | 中文字幕视频在线观看 | 亚洲资源在线 | 成人黄色a | 福利视频一二区 | 91精品久久久久久久 | 国产精品96久久久久久 | 91精品国产91久久综合桃花 | 色综合国产 | 日韩av三区 | 国产久| 青青久久久|