Как я вижу коммит ша при использовании git grep?

Я пытался с помощью git grep -i 'search' README.md и в результате были найдены строки, которые мне было интересно посмотреть, но эти строки не распечатывали git-sha, чтобы я мог получить больше информации об этих коммитах. Вывод выглядел так:

README.md:ElastiCache, ElasticSearch, and RDS setup with Terraform

Как я вижу Git Sha для этой строки? Я посмотрел на документацию, и в ней даже не было слов "commit" или "sha".

2 ответа

Без дополнительных спецификаций, git grep просто смотрит на текущий коммит.

Чтобы посмотреть другие коммиты (или индекс), вы должны назвать их (или использовать --cached). Например, сравните:

$ git grep asdf
Documentation/rev-list-options.txt:  ``asdf'', and a file `quux` exists with con
t/t5516-fetch-push.sh:  test_must_fail git push >.git/bar --porcelain asdfasdfas
t/t9100-git-svn-basic.sh:       echo asdf > dir &&
t/t9132-git-svn-broken-symlink.sh:asdf
t/t9132-git-svn-broken-symlink.sh:test_expect_success SYMLINKS '"bar" is a symli
t/t9132-git-svn-broken-symlink.sh:      (cd x && test xasdf = x"$(git cat-file b

против:

$ git grep asdf HEAD^ HEAD~3
HEAD^:Documentation/rev-list-options.txt:  ``asdf'', and a file `quux` exists wi
HEAD^:t/t5516-fetch-push.sh:    test_must_fail git push >.git/bar --porcelain as
HEAD^:t/t9100-git-svn-basic.sh: echo asdf > dir &&
HEAD^:t/t9132-git-svn-broken-symlink.sh:asdf
HEAD^:t/t9132-git-svn-broken-symlink.sh:test_expect_success SYMLINKS '"bar" is a
HEAD^:t/t9132-git-svn-broken-symlink.sh:        (cd x && test xasdf = x"$(git ca
HEAD~3:Documentation/rev-list-options.txt:  ``asdf'', and a file `quux` exists w
HEAD~3:t/t5516-fetch-push.sh:   test_must_fail git push >.git/bar --porcelain as
HEAD~3:t/t9100-git-svn-basic.sh:        echo asdf > dir &&
HEAD~3:t/t9132-git-svn-broken-symlink.sh:asdf
HEAD~3:t/t9132-git-svn-broken-symlink.sh:test_expect_success SYMLINKS '"bar" is 
HEAD~3:t/t9132-git-svn-broken-symlink.sh:       (cd x && test xasdf = x"$(git ca

Если вы перечислите несколько деревьев (или идентификаторов фиксации) для поиска, в результатах будет указан ваш префикс спецификаторов, чтобы вы знали, с каким из них они идут.

git blame README.md | grep -i 'search'

Другие вопросы по тегам