질문
Git에서 commit-ish 및 tree-ish의 구체적인 예는 무엇입니까?
스택 오버플로 질문 "git에서 tree-ish는 무엇을 의미합니까?" 나무 흉내를 다루고 특히,하지만 난에 대해 자세히 이해하려면 모두를 .
배경
문서에서의 사용
Git 문서 는 "commit-ish"및 "tree-ish"에 대한 여러 참조를 작성 합니다. 예를 들어 Git 소스 코드를 검토 하는 경우 :
$ git grep --files-with-matches --extended-regexp "commit(-)*ish"
config.txt
git-describe.txt
git-fast-import.txt
git-name-rev.txt
git-push.txt
git-rebase.txt
git-rev-parse.txt
git.txt
gitcli.txt
glossary-content.txt
howto/revert-branch-rebase.txt
revisions.txt
과
$ git grep --files-with-matches --extended-regexp "tree(-)*ish" | \
$ grep --invert-match RelNotes
diff-format.txt
diff-generate-patch.txt
git-archive.txt
git-cat-file.txt
git-checkout.txt
git-diff-index.txt
git-diff-tree.txt
git-ls-files.txt
git-ls-tree.txt
git-merge-tree.txt
git-read-tree.txt
git-reset.txt
git-svn.txt
git.txt
gitcli.txt
gittutorial-2.txt
glossary-content.txt
revisions.txt
정의
Git 문서 는 "commit-ish"및 "tree-ish"가 무엇인지 정의합니다 .
<tree>트리 개체 이름을 나타냅니다.
<commit>커밋 개체 이름을 나타냅니다.
<tree-ish>트리, 커밋 또는 태그 개체 이름을 나타냅니다. 소요 명령
<tree-ish>인수는 궁극적으로 작동하도록하려는<tree>목적되지만 자동으로 역 참조<commit>와<tag>에서 그 점을 객체<tree>.<commit-ish>커밋 또는 태그 개체 이름을 나타냅니다.
<commit-ish>인수를받는 명령은 궁극적으로<commit>객체 에서 작동하기를 원 하지만를 가리키는<tag>객체를 자동으로 역 참조 합니다<commit>.
문서가 충분히 명확하지 않습니다.
위의 문서에서 "커밋"과 "트리"가 무엇인지 정의하고 있지만 여전히 너무 모호하고 불분명합니다.
"commit-ish"와 "tree-ish"의 구체적인 예는 무엇이며 서로 어떻게 다른가요?

stash@{0}. 이 모든 것이 어디에 적합한 지 알고 싶습니다. 숨김 (my-thing@{0}) 과 같은 다른 것이 있습니까? 은신처는 그냥<refname>?