我在git历史中有一条简短的日志,如下所示:
1234213 commit A tag: positive_1
1234324 commit B
1111111 commit C
4543533 commit D tag: negative_1
1234234 commit E tag: positive_2
4534543 commit F
4543533 commit G tag: positive_3
并且我想使用git命令,向我显示两个或多个正则表达式匹配的正则表达式匹配标签,它们靠近指定的提交。以1111111为例,输出应为:
1234213 commit A tag: positive_1
1111111 commit C
1234234 commit E tag: positive_2
4543533 commit G tag: positive_3
我有必要知道哪个版本的产品包含指定的修复程序/功能。该命令将使查找起来更加容易。
> cat text.txt
1234213 commit A tag: positive_1
1234324 commit B
1111111 commit C
4543533 commit D tag: negative_1
1234234 commit E tag: positive_2
4534543 commit F
4543533 commit G tag: positive_3
> cat text.txt | grep -A 5 -B 5 1111111 | grep -E "positive|1111111"
1234213 commit A tag: positive_1
1111111 commit C
1234234 commit E tag: positive_2
4543533 commit G tag: positive_3
我在提交哈希和grab 5 leading and 5 trailing lines上使用grep。之后,我们匹配标签本身和/或包括原始提交哈希。