您可能不瞭解git log的有用技巧 - Git Better
如果您使用Git有一段時間,則應該遇到git log。眾所周知,git log是一個簡單的命令,可以幫助我們檢視更改或專案歷史記錄。
即使如此簡單,它仍然是一個非常強大的工具,它帶有許多選項,可幫助我們檢視專案更改及其結構。我們將在本文中看到一些最常用的選項。
git log --oneline
此命令可幫助您以更簡潔的方式檢視提交。它會將每次提交壓縮到一行,並且只有很少的資訊,例如較短的提交雜湊,提交訊息。
按時間段過濾提交
按給定的時間間隔過濾提交。例如,-after將僅過濾在給定時間段之後的提交,而-before將僅過濾在給定時間段之前的提交。
git log --after="2020-15-05" |
上面的命令將僅顯示2020年5月15日之後的提交
git log --after="2020-15-05" --before="2020-25-05" |
上面的命令將僅顯示5月15日至5月25日的提交
您還可以使用以下日期格式
git log --after="yesterday" // shows only commits from yeserday git log --after="today" // shows only today commits git log --before="10 day ago" // omits last 10 days commits git log --after="1 week ago" //show only commits from last week git log --after="2 week ago" git log --after="2 month ago" // shows only last 2 months commits |
git日誌與差異更改
git log -p |
此命令將顯示具有差異更改的日誌。這樣您就可以知道每次提交中所做的更改。
按作者過濾提交
git log --author="Srebalaji" |
上面的命令將過濾出特定作者所做的提交。請注意,Git按正規表示式模式過濾掉。因此,不必擔心確切的名稱匹配或區分大小寫。
Git日誌可以採用多個選項,因此您可以根據需要組合選項。例如,
git log --after="1 week ago" --author="srebalji" -p |
上面的命令將過濾各自作者過去一週的提交,並顯示差異更改。
通過日誌訊息過濾提交
有時,您需要通過日誌訊息來過濾提交。Git接受一個正規表示式模式來搜尋日誌訊息並顯示所有匹配的提交。
git log --grep="ISSUE-43560" |
上面的命令將按各自的模式過濾提交。並且請記住,預設情況下它區分大小寫。
要使搜尋不區分大小寫,可以傳遞-i引數
git log -i --grep="issue-43560" |
以下命令使用正規表示式模式搜尋,並將搜尋兩個問題ID。
git log -i --grep="issue-43560\|issue-89786" |
按檔案過濾提交
有時,您需要進行所有已影響某些特定檔案的提交更改。這將在許多地方出現。
git log main.rb |
該命令將過濾對相應檔案進行更改的提交。
您還可以將多個檔案傳遞給它。
git log main.rb search.rb login.rb |
您可以看到我已經傳遞了三個檔案進行過濾。
請記住,您還可以傳遞多個選項。
git log -i --grep="fix " main.rb search.rb |
該命令將過濾出對指定檔案所做的提交更改,還將通過給定的搜尋模式匹配日誌訊息。
按檔案內容過濾提交
您可能需要在提交歷史中新增的原始碼中搜尋特定的字串。這可以通過
git log -S"function login()" |
上面的命令將搜尋字串“ function login()”。預設情況下,區分大小寫。
您可以通過新增-i使其不區分大小寫。要檢視內容,您可以檢視差異更改。
git log -i -S"function login()" -p |
僅顯示合併提交
此命令有助於我們瞭解對當前分支所做的合併。
git log --merges |
上面的命令將僅顯示當前分支中的合併提交。而已。
顯示分支之間的差異
我們在先前的一個問題中已經看到了此命令。
git log master..develop |
該命令將幫助您顯示來自development的所有提交,但這些提交不在master分支中。這樣,您可以知道有多少新提交新增到了master分支中不存在的develop分支中。比較之前,請確保您具有本地更新的更改。
自定義格式日誌訊息
Git還提供了用於自定義日誌訊息格式的選項。您可以檢視自定義漂亮選項以獲得更多選項。
例如,
git log --pretty=format:"%Cred%an - %ar%n %Cblue %h -%Cgreen %s %n" |
相關文章
- Git 系列(二):初步瞭解 GitGit
- git(一):瞭解、學習、安裝gitGit
- 瞭解Git及其使用Git
- Git衝突解決技巧Git
- Git log 和 Git reflog 區別Git
- git log與git reflog區別Git
- mac技巧|你可能不瞭解的實用操作~Mac
- git logGit
- Git 使用技巧Git
- git小技巧Git
- git 小技巧Git
- Git(7)-- 檢視提交歷史(git log 命令詳解)Git
- 高富帥們的Git技巧Git
- git log提交歷史詳解Git
- git log 退出Git
- git學習之git reflog和git cherry-pickGit
- 10個很有用的高階Git命令Git
- 8 個 Git 的小技巧Git
- git reflog用法Git
- git簡單明瞭Git
- 『現學現忘』Git基礎 — 25、git log命令引數詳解Git
- Git 小技巧彙總Git
- Git 12 歲了,為你送上 12 個 Git 的使用技巧!Git
- Git reflog 引用日誌使用詳解Git
- 面試官:你瞭解git cherry-pick嗎?面試Git
- 【譯】瞭解17.10 GA 中最新的 Git 工具特性Git
- 你可能不太會用的10個Git命令Git
- git log 個性化Git
- git裡最有用最經常使用的東西Git
- Git詳解之一:Git起步Git
- Git詳解之三:Git分支Git
- Git詳解之六:Git工具Git
- Git 12 歲了,送給你 12 個 Git 使用技巧Git
- git(三):第一次github瞭解使用Github
- 6 條 Git 實用技巧Git
- [心得]git使用技巧歸納Git
- 25個 Git 進階技巧Git
- 幾年的Git使用技巧總結Git