Skip to content

Git Internals

Thomas Klepzig edited this page Nov 27, 2016 · 7 revisions

SHA-1 Hash für Datei erzeugen

Der Hash repräsentiert nur den Inhalt der Datei

git hash-object -w test.txt

Inhalt des Git-Objekts, das per kompletten SHA-1 Hash angegeben wird, anzeigen

git cat-file -p *complete hash*

Typ des Git-Objekts, das per kompletten SHA-1 Hash angegeben wird, anzeigen

Dabei kann Typ Blob, Commit, Tree oder Tag sein

git cat-file -t *complete hash*

Blob Objekt, das per kompletten SHA-1 Hash angegeben wird, in die Staging Area schieben und anschließend ein Tree-Objekt erzeugen

Dabei werden zusätzlich zum Dateiinhalt auch noch Zugriffsberechtigung und Dateiname gespeichert

git update-index --add --cacheinfo 100644 *complete blob-hash* test.txt git write-tree

Aus dem vormals erzeugtem Tree-Objekt ein COmmit-Objekt erzeugen

echo 'first commit' | git commit-tree *tree-hash*

Master auf den neuen Commit zeigen lassen

git update-ref refs/heads/master *complete commit-hash*

HEAD auf den master Pointer zeigrn lassen

git symbolic-ref HEAD refs/heads/master


Siehe https://git-scm.com/book/en/v2/Git-Internals-Git-Objects