git 日誌
如果您使用git一段時間,則應該遇到git log。 眾所周知,git log是乙個簡單的命令,可以幫助我們
檢視更改或專案歷史記錄。
即使如此簡單,它仍然是乙個非常強大的工具,它帶有許多選項,可以幫助我們檢視專案更改及其結構。 我們將在本文中看到一些最常用的選項。
gitlog --oneline
此命令可幫助您以更簡潔的方式檢視提交。 它會將每次提交壓縮到一行,並且只有很少的資訊,例如較短的提交雜湊,提交訊息。
這些命令將按給定的時間間隔過濾提交。 例如,– after將僅在給定時間段之後進行提交,而– before將僅在給定時間段之前進行提交。
gitlog --after= "2020-15-05"
上面的命令將僅顯示2023年5月15日之後的提交
gitlog --after= "2020-15-05" --before= "2020-25-05"
上面的命令將僅顯示5月15日至5月25日的提交
您還可以使用以下日期格式
gitlog --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
gitlog -p
此命令將顯示具有差異更改的日誌。 這樣您就可以知道每次提交中所做的更改。
在上圖中,您可以看到git diff的變化。
gitlog --author= "srebalaji"
上面的命令將過濾掉特定物件所做的提交
作者。 請注意,git按正規表示式模式過濾掉。 所以不用擔心
有關確切名稱匹配或區分大小寫的資訊。
git日誌可以採用多個選項,因此您可以根據需要組合選項。 例如,
gitlog --after= "1 week ago" --author= "srebalji" -p
上面的命令將過濾各自作者過去一周的提交,並顯示差異更改。
有時,您需要通過日誌訊息過濾提交。 git接受乙個
regex模式以搜尋日誌訊息並顯示所有
匹配的提交。
gitlog --grep= "issue-43560"
上面的命令將按各自的模式過濾提交。 並且請記住,預設情況下它區分大小寫。
要使搜尋不區分大小寫,可以傳遞-i引數
gitlog -i --grep= "issue-43560"
下面的命令正在使用正規表示式模式搜尋,並將搜尋兩個問題id。
gitlog -i --grep= "issue-43560\|issue-89786"
有時,您需要進行所有已影響某些特定檔案的提交更改。 這將在許多地方出現。
gitlog main.rb
該命令將過濾對相應檔案進行更改的提交。
您還可以將多個檔案傳遞給它。
gitlog main.rb search.rb login.rb
您可以看到我已經傳遞了三個檔案進行過濾。
請記住,您還可以傳遞多個選項。
gitlog -i --grep= "fix " main.rb search.rb
該命令將過濾出對指定檔案所做的提交更改,還將通過給定的搜尋模式匹配日誌訊息。
您可能需要在提交歷史中新增的源**中搜尋特定的字串。 這可以通過
gitlog -s "function login()"
上面的命令將搜尋字串「 function login()」。 預設情況下,區分大小寫。
您可以通過新增-i使其不區分大小寫。要檢視內容,您可以檢視差異更改。
gitlog -i -s "function login()" -p
此命令有助於我們了解對當前分支所做的合併。
gitlog --merges
上面的命令將僅顯示當前分支中的合併提交。 而已。
我們已經在以前的問題之一中看到了此命令。
gitlog master..develop
該命令將幫助您顯示來自development的所有提交,但是
在master分支中不存在。 這樣,您可以知道
許多新的提交被新增到了不存在的開發分支中
主分支。 並確保您在
比較之前是本地的。
git還提供了用於自定義日誌訊息格式的選項。 您可以檢視自定義漂亮選項以獲得更多選項。
例如,
gitlog --pretty=format: "%cred%an - %ar%n %cblue %h -%cgreen %s %n"
您可以在上圖中看到提交日誌是自定義的
格式化。 這很容易,如果您想檢視,它會派上用場
僅日誌的特定詳細資訊。
而已。 希望你學到新東西:)
謝謝您的閱讀:) :)
該帖子最初發布在時事通訊gitbetter中。如果您有興趣公升級git中的遊戲,可以訂閱它。
先前發布在
翻譯自:git 日誌
十個基本的Git命令
是乙個面向individual developer的簡單git教程,講解了git的10個常用命令。1 建立乙個新的git repository git init 注意 在執行這個命令之前,需要cd到你的工程根目錄下,因為該命令是在當前目錄下建立乙個空的repository。2 往git reposi...
git學習日誌
2 每個機器都必須自報家門 git config global user.name your name git config global user.email email example.com 3 建倉庫 cd learngit git init initialized empty git re...
Git日誌壓縮
在日常功能研發時,可能會在本地倉庫commit多次,但這些commit對於遠端來說,當做乙個原子操作push是最合適的,此時應該怎麼做?1.commit amend commit時就合併到最後一次commit中,命令 git commit amend此時,當前commit的內容會與上一次commit...