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>
?Hinweis für nicht-englische Muttersprachler: "-ish" ist ein Suffix, das auf ein Adjektiv angewendet werden kann, um "mit Eigenschaften wie" oder "leicht" anzuzeigen - siehe http://chambers.co.uk / search /? query = ish & title = 21st
Daher "tree-ish" - wie ein "tree" .... "commit-ish" - wie ein "commit"
zB "Mars erscheint wie ein rötlicher Stern" ("d" wird verdoppelt!); "Das Essen auf dem Teller war nicht heiß, aber warm"
Ich glaube, dass dies hilft, "was sind ..." besser zu erklären, indem es den Sprachgebrauch erklärt.
quelle