除了定製輸出格式的選項之外,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將某一字段的值按指定的字元進行累加,系...