Как я вижу коммит ша при использовании 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
Если вы перечислите несколько деревьев (или идентификаторов фиксации) для поиска, в результатах будет указан ваш префикс спецификаторов, чтобы вы знали, с каким из них они идут.