無論倉庫裡的**量有多少
經常需要查詢乙個函式是在**呼叫或者定義的,或者乙個方法的變更歷史
git 提供了兩個有用的工具來快速地從它的資料庫中瀏覽**和提交
git 提供了乙個grep
命令,可以很方便地從提交歷史或者工作目錄中查詢乙個字串或者正規表示式
用 git 本身源**的查詢作為例子
預設情況下 git 會查詢工作目錄的檔案
可以傳入-n
引數來輸出 git 所找到的匹配行行號
$ git
grep -n gmtime_r
compat/gmtime.c:3:#undef gmtime_r
compat/gmtime.c:8: return git_gmtime_r(timep, &result)
;compat/gmtime.c:11:struct tm *git_gmtime_r(const time_t *timep, struct tm *result)
compat/gmtime.c:16: ret = gmtime_r(timep, result)
;compat/mingw.c:606:struct tm *gmtime_r(const time_t *timep, struct tm *result)
compat/mingw.h:162:struct tm *gmtime_r(const time_t *timep, struct tm *result)
;date.c:429: if
(gmtime_r(
&now, &now_tm))
date.c:492: if
(gmtime_r(
&time, tm))
commit 225a6f1068f71723a910e8565db4e252b3ca21fa
author: junio c hamano
date: fri jun 10 11:18:17 2011 -0700
zlib: wrap deflatebound(
) too
diff --git a/zlib.c b/zlib.c
--- a/zlib.c
+++ b/zlib.c
@@ -81,0 +85,5 @@
+unsigned long git_deflate_bound(z_streamp strm, unsigned long size)
++
如果 git 無法計算出如何匹配**中的函式或者方法,可以提供乙個正規表示式
例如,這個命令和上面的是等同的:
$ git log -l '/unsigned long git_deflate_bound/',/^}/:zlib.c
也可以提供單行或者乙個範圍的行號來獲得相同的輸出
參考: git
以上內容,均根據git官網介紹刪減、新增和修改組成
演算法筆記2 9補充
2.9 1 cin與cout 讀入多個變數,讀入了int 型變數n double型變數db char 型變數c char 型陣列str cin n db c str 如果想要讀入一整行,則需要使用getline函式,把一整行都讀入char型陣列str 100 中 char str 100 cin.g...
ACM學習歷程29 搜尋演算法
搜尋演算法是利用計算機的高效能來有目的地窮舉乙個問題的部分或所有的可能情況,從而求出問題的解的一種方法。搜尋過程實際上是根據初始條件和擴充套件規則構造一棵解答樹並尋找符合目標狀態的節點的過程。涉及到的概念包括 狀態 狀態轉移 搜尋樹 狀態空間 可行解 最優解。一 相關概念 狀態 對問題以及事物狀態在...
git搜尋技巧
以上要素就是我們在進行搜尋的時候要注意的一些關鍵點。那我們到底如何搜尋呢?假設我們現在要搜尋react,相信大部分小夥伴都是直接在搜尋框裡輸入 react 然後一回車,你就會發現情況像下面這樣 搜尋專案名裡面包含react的專案 in name react複製 得到如下結果 現在我們來約束一下 比如...