Die Frage
Was sind spezifische Beispiele für Commit-ish und Tree-ish in Git?
Die Stapelüberlauf-Frage "Was bedeutet baumartig in Git?" befasst sich speziell mit Baum-ish, aber ich möchte mehr über beide verstehen .
Hintergrund
Verwendung in der Dokumentation
Die Git-Dokumentation enthält mehrere Verweise auf "commit-ish" und "tree-ish". Wenn Sie beispielsweise den Git-Quellcode untersuchen :
$ 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
und
$ 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
Definitionen
Die Git-Dokumentation definiert, was "Commit-ish" und "Tree-ish" sind :
<tree>Gibt einen Baumobjektnamen an.
<commit>Gibt einen Commit-Objektnamen an.
<tree-ish>Gibt einen Baum-, Commit- oder Tag-Objektnamen an. Ein Befehl, der ein
<tree-ish>Argument akzeptiert, möchte letztendlich ein<tree>Objekt bearbeiten, aber automatisch Dereferenzen<commit>und<tag>Objekte, die auf a zeigen<tree>.<commit-ish>Gibt einen Commit- oder Tag-Objektnamen an. Ein Befehl, der ein
<commit-ish>Argument akzeptiert, möchte letztendlich ein<commit>Objekt bearbeiten<tag>, dereferenziert jedoch automatisch Objekte, die auf a zeigen<commit>.
Die Dokumentation ist nicht klar genug
Obwohl die obige Dokumentation definiert, was "Commit-ish" und "Tree-ish" sind, finde ich es immer noch zu vage und unklar.
Was sind spezifische Beispiele für "Commit-ish" und "Tree-ish" und wie unterscheiden sie sich voneinander?

stash@{0}. Ich würde gerne wissen, wo das in all das passt. Gibt es noch andere Dinge wie das Versteck (my-thing@{0})? Ist das Versteck nur ein<refname>?