git操作整理(2)
一、追溯,檢視提交歷史。
git shortlog #檢視每個人提交的commit 備註,以及次數。
git log -graph
好用的追責工具git blame。
它可以檢視一個檔案的每一行的提交記錄,想知道這個檔案的程式碼裡面每一行是誰提交的都可以查得到。
git blame 【filename】 #顯示檔案的每一行的提交者。
#假如說現在有一個需求,想檢視程式碼的第6行到第11行是誰提交的:
git blame [filename] -L [6],+[5]
二、在git倉庫中搜索。
git grep #在git倉庫中以關鍵字的形式搜尋檔案,用法和linux系統命令的grep是一樣的,下面是用法示例:
git grep [hellotest] #查詢在git倉庫中所有含有hello字串的檔案。
git grep -n [hellotest] #顯示關鍵字所在檔案的行號。
git grep -name-only [hellotest] # 只顯示檔名。
git grep -c [hellotest] #檢視每個檔案有多少個匹配。
and / or:
git grep -e [hello] --and -e [world]
git grep -e [hello] --or -e [world]
在指定tag中搜索:
git grep string [tag]
三、修改提交。
增補提交。
最後一次提交如果有問題,需要修改最後一次的提交,而不是從重新commit產生一個新的提交的話,就可以用--amend引數。
git commit --amend #不會生成新的commit,只修改最後一個commit。
撤銷提交。
git revert [SHA1]#將原來的提交撤銷。
四、版本回退。
git reset --mixed [SHA1] #將版本回退到工作區。
git reset --soft [SHA1] #將版本回退到暫存區。
git reset --hard [SHA] #回退後直接刪除提交。
=============================================