GIT-Tutorial: Kochbuch: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 7: | Zeile 7: | ||
===SHA1-Hash-Abkürzung expandieren=== | ===SHA1-Hash-Abkürzung expandieren=== | ||
< | <syntaxhighlight lang=bash> | ||
git rev-parse d4d2cea | git rev-parse d4d2cea | ||
</ | </syntaxhighlight> | ||
<pre style="color:blue"> | <pre style="color:blue"> | ||
d4d2cea2c5feecc46af985a52cc5d091e49c4708 | d4d2cea2c5feecc46af985a52cc5d091e49c4708 | ||
Zeile 15: | Zeile 15: | ||
===Inhalt eines Blobs ermitteln=== | ===Inhalt eines Blobs ermitteln=== | ||
< | <syntaxhighlight lang=bash> | ||
git cat-file -p d4d2c | git cat-file -p d4d2c | ||
</ | </syntaxhighlight> | ||
<pre style="color:blue"> | <pre style="color:blue"> | ||
Diese Datei enthält genau eine Zeile! | Diese Datei enthält genau eine Zeile! | ||
Zeile 26: | Zeile 26: | ||
===Dateien im Arbeitsverzeichnis durch den Stand in der Datenbank ersetzen=== | ===Dateien im Arbeitsverzeichnis durch den Stand in der Datenbank ersetzen=== | ||
Alle Dateien auf den aktuellen Stand des aktuellen Branches: | Alle Dateien auf den aktuellen Stand des aktuellen Branches: | ||
< | <syntaxhighlight lang=bash> | ||
git reset --hard | git reset --hard | ||
</ | </syntaxhighlight> | ||
Alle Dateien auf den Stand eines Commits, z.B. dem Tag v0.1, bringen: | Alle Dateien auf den Stand eines Commits, z.B. dem Tag v0.1, bringen: | ||
< | <syntaxhighlight lang=bash> | ||
git reset --hard v0.1 | git reset --hard v0.1 | ||
</ | </syntaxhighlight> | ||
Hinweis: Einzelne Dateien können nur dann zurückgesetzt werden, wenn der gewählte Commit einzig diese Datei enthält. Was anderes ist nicht sinnvoll, da ein Commit atomar ist. | Hinweis: Einzelne Dateien können nur dann zurückgesetzt werden, wenn der gewählte Commit einzig diese Datei enthält. Was anderes ist nicht sinnvoll, da ein Commit atomar ist. | ||
Zeile 39: | Zeile 39: | ||
===Bugfix aus einem anderen Branch übernehmen=== | ===Bugfix aus einem anderen Branch übernehmen=== | ||
Ein Bugfix umfasst genau einen Commit (3a1b2...) im Branch v1.3. Dieser soll in den Branch master übernommen werden, ohne die anderen Commits von v1.3. | Ein Bugfix umfasst genau einen Commit (3a1b2...) im Branch v1.3. Dieser soll in den Branch master übernommen werden, ohne die anderen Commits von v1.3. | ||
< | <syntaxhighlight lang=bash> | ||
git remote add origin git://f-r-e-i.de/backup | git remote add origin git://f-r-e-i.de/backup | ||
git fetch | git fetch | ||
</ | </syntaxhighlight> | ||
==Umgang mit Depots== | ==Umgang mit Depots== | ||
===Verbindung zu Depot herstellen=== | ===Verbindung zu Depot herstellen=== | ||
< | <syntaxhighlight lang=bash> | ||
git remote add origin git://f-r-e-i.de/backup | git remote add origin git://f-r-e-i.de/backup | ||
</ | </syntaxhighlight> | ||
===Verbindung zu Depot entfernen=== | ===Verbindung zu Depot entfernen=== | ||
< | <syntaxhighlight lang=bash> | ||
git remote rm origin | git remote rm origin | ||
</ | </syntaxhighlight> | ||
= Datei aus Repository entfernen (nicht löschen) = | = Datei aus Repository entfernen (nicht löschen) = |
Version vom 10. März 2024, 14:16 Uhr
Vorbemerkung
Hier werden "Rezepte" vorgestellt: Typische Situationen und sinnvolles Vorgehen dafür, in Kurzform.
Kommandos auf tiefster Ebene
SHA1-Hash-Abkürzung expandieren
git rev-parse d4d2cea
d4d2cea2c5feecc46af985a52cc5d091e49c4708
Inhalt eines Blobs ermitteln
git cat-file -p d4d2c
Diese Datei enthält genau eine Zeile!
Lokales Repository
Dateien im Arbeitsverzeichnis durch den Stand in der Datenbank ersetzen
Alle Dateien auf den aktuellen Stand des aktuellen Branches:
git reset --hard
Alle Dateien auf den Stand eines Commits, z.B. dem Tag v0.1, bringen:
git reset --hard v0.1
Hinweis: Einzelne Dateien können nur dann zurückgesetzt werden, wenn der gewählte Commit einzig diese Datei enthält. Was anderes ist nicht sinnvoll, da ein Commit atomar ist.
Mergen
Bugfix aus einem anderen Branch übernehmen
Ein Bugfix umfasst genau einen Commit (3a1b2...) im Branch v1.3. Dieser soll in den Branch master übernommen werden, ohne die anderen Commits von v1.3.
git remote add origin git://f-r-e-i.de/backup
git fetch
Umgang mit Depots
Verbindung zu Depot herstellen
git remote add origin git://f-r-e-i.de/backup
Verbindung zu Depot entfernen
git remote rm origin
Datei aus Repository entfernen (nicht löschen)
git rm --cached file1.txt