如何修改Git Log的Grep命令一次性查找多个指定引用的提交?
如何用git log一次性匹配所有ABC-XXXX格式的提交?
嘿,这个问题很常见!你现在的命令是精确匹配单个ABC编号,要一次性抓所有符合ABC-XXXX这类格式的提交,只需要把--grep的匹配规则改成正则表达式就行,这里有两种实用的方式:
方式一:用Git默认的基础正则表达式(BRE)
直接修改--grep的匹配串,用[0-9]\+匹配一个或多个数字:git log --pretty=oneline --abbrev-commit --grep='ABC-[0-9]\+'方式二:用扩展正则表达式(ERE),语法更直观
加上--extended-regexp参数,就可以用更简洁的+表示一个或多个重复:git log --pretty=oneline --abbrev-commit --extended-regexp --grep='ABC-[0-9]+'
额外优化:精准匹配固定位数的编号
如果你的ABC编号都是4位数字(比如例子里的1556、1616),可以把正则改成匹配至少4位数字,避免误匹配到更短的编号:
# 基础正则写法 git log --pretty=oneline --abbrev-commit --grep='ABC-[0-9]\{4,\}' # 扩展正则写法 git log --pretty=oneline --abbrev-commit --extended-regexp --grep='ABC-[0-9]{4,}'
这样就能一次性捞出所有包含ABC-加一串数字的提交记录,正好满足你回滚代码的需求~
内容的提问来源于stack exchange,提问作者Sam Carleton
相关产品推荐
相关产品推荐

