git log 總結

1.git log filename(查看該文件相關的commit記錄)
2.git log -p filename(顯示該文件每次提交的diff)
3.git show commit-id/branchName/tagName(查看某次提交/分支/tag的詳細信息)
4.git show commit-id filename(查看某次提交中的某個文件)

git log 的常用選項
選項 (說明)
--help(顯示幫助)
-p(按補丁格式顯示每個更新之間的差異。)
--stat(顯示每次更新的文件修改統計信息。)
--shortstat(只顯示 --stat 中最後的行數修改添加移除統計。)
--name-only(僅在提交信息後顯示已修改的文件清單。)
--name-status(顯示新增、修改、刪除的文件清單。)
--abbrev-commit(僅顯示 SHA-1 的前幾個字符,而非所有的 40 個字符。)
--relative-date(使用較短的相對時間顯示(比如,“2 weeks ago”)。)
--graph(顯示 ASCII 圖形表示的分支合併歷史。)
--pretty(使用其他格式顯示歷史提交信息。可用的選項包括 oneline,short,full,fuller 和 format(後跟指定格式)。)
-n(僅顯示最近的n條提交)
--since, --after(僅顯示指定時間之後的提交。)
--until, --before(僅顯示指定時間之前的提交。)
--author(僅顯示指定作者相關的提交。)
--committer(僅顯示指定提交者相關的提交。)
--grep(僅顯示含指定關鍵字的提交)
-S(僅顯示添加或移除了某個關鍵字的提交)

git log --pretty=%b   ##列出所有提交的Change-Id
git log localbrach2..localbrach ##不太靠譜
git blame fileName   ##查看文件詳細修改
git log --all   ##查看所有分支的提交記錄

例如:
repo forall -p -c "git log branchName --pretty=oneline --since==2019-02-28-08-10 --until=2019-03-16  2>&1 | tee" >> tag.log
(從2019年2月28號早上8點10分到2019年3月16號分支branchName的所有提交,最後的>> tag.log可以讓-p參數顯示的project名保存到文件中)
個人感悟:每個分支上可以有不同的tag!

git reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)
例如執行 git reset --hard HEAD~1,退回到上一個版本,用git log則是看不出來被刪除的commitid,用git reflog則可以看到被刪除的commitId,我們就可以買後悔藥,恢復到被刪除的那個版本。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章