git git log 限制輸出長度

2021-06-29 16:59:32 字數 1660 閱讀 2531

除了定製輸出格式的選項之外,git log還有許多非常實用的限制輸出長度的選項,也就是只輸出部分提交資訊。之前我們已經看到過-2了,它只顯示最近的兩條提交,實際上,這是-選項的寫法,其中的n可以是任何自然數,表示僅顯示最近的若干條提交。不過實踐中我們是不太用這個選項的,git 在輸出所有提交時會自動呼叫分頁程式(less),要看更早的更新只需翻到下頁即可。

另外還有按照時間作限制的選項,比如--since--until。下面的命令列出所有最近兩周內的提交:

$ git log --since=2.weeks
你可以給出各種時間格式,比如說具體的某一天(「2008-01-15」),或者是多久以前(「2 years 1 day 3 minutes ago」)。

還可以給出若干搜尋條件,列出符合的提交。用--author選項顯示指定作者的提交,用--grep選項搜尋提交說明中的關鍵字。(請注意,如果要得到同時滿足這兩個選項搜尋條件的提交,就必須用--all-match選項。否則,滿足任意乙個條件的提交都會被匹配出來)

另乙個真正實用的git log選項是路徑(path),如果只關心某些檔案或者目錄的歷史提交,可以在git log選項的最後指定它們的路徑。因為是放在最後位置上的選項,所以用兩個短劃線(--)隔開之前的選項和後面限定的路徑名。

表 2-3 還列出了其他常用的類似選項。

選項說明

-(n)僅顯示最近的 n 條提交

--since, --after僅顯示指定時間之後的提交。

--until, --before僅顯示指定時間之前的提交。

--author僅顯示指定作者相關的提交。

--committer僅顯示指定提交者相關的提交。

來看乙個實際的例子,如果要檢視 git 倉庫中,2008 年 10 月期間,junio hamano 提交的但未合併的測試指令碼(位於專案的 t/ 目錄下的檔案),可以用下面的查詢命令:

$ git log --pretty="%h - %s" --author=gitster --since="2008-10-01" \

--before="2008-11-01" --no-merges -- t/

5610e3b - fix testcase failure when extended attribute

f563754 - demonstrate breakage of detached checkout wi

d1a43f2 - reset --hard/read-tree --reset -u: remove un

51a94af - fix "checkout --track -b newbranch" on detac

b0ad11e - pull: allow "git pull origin $something:$cur

git 專案有 20,000 多條提交,但我們給出搜尋選項後,僅列出了其中滿足條件的 6 條。

git的限制輸出長度

除了定製輸出格式的選項之外,git log還有許多非常實用的限制輸出長度的選項,也就是只輸出部分提交資訊。之前我們已經看到過 2了,它只顯示最近的兩條提交,實際上,這是 選項的寫法,其中的n可以是任何自然數,表示僅顯示最近的若干條提交。不過實踐中我們是不太用這個選項的,git 在輸出所有提交時會自動...

限制textField長度

在 iphone 應用裡經常要限制使用者輸入字元的長度,比如密碼輸入框規定密碼長度是 x 到 y 位,下面這段 可以讓 uitextfield 限制輸入長度。bool textfield uitextfield textfield shouldchangecharactersinrange nsra...

mysql GROUP CONCAT長度限制

在mysql中,有個函式叫 group concat 平常使用可能發現不了問題,在處理大資料的時候,會發現內容被擷取了,其實mysql內部對這個是有設定的,預設不設定的長度是1024,如果我們需要更大,就需要手工去修改配置檔案。解決辦法 group concat將某一字段的值按指定的字元進行累加,系...