GIT-Tutorial: Kochbuch: Unterschied zwischen den Versionen

Aus Info-Theke
Zur Navigation springen Zur Suche springen
Zeile 7: Zeile 7:


===SHA1-Hash-Abkürzung expandieren===
===SHA1-Hash-Abkürzung expandieren===
<source lang=bash>
<syntaxhighlight lang=bash>
  git rev-parse d4d2cea
  git rev-parse d4d2cea
</source>
</syntaxhighlight>
<pre style="color:blue">
<pre style="color:blue">
d4d2cea2c5feecc46af985a52cc5d091e49c4708
d4d2cea2c5feecc46af985a52cc5d091e49c4708
Zeile 15: Zeile 15:


===Inhalt eines Blobs ermitteln===
===Inhalt eines Blobs ermitteln===
<source lang=bash>
<syntaxhighlight lang=bash>
  git cat-file -p d4d2c
  git cat-file -p d4d2c
</source>
</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:
<source lang=bash>
<syntaxhighlight lang=bash>
  git reset --hard
  git reset --hard
</source>
</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:
<source lang=bash>
<syntaxhighlight lang=bash>
  git reset --hard v0.1
  git reset --hard v0.1
</source>
</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.
<source lang=bash>
<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
</source>
</syntaxhighlight>


==Umgang mit Depots==
==Umgang mit Depots==


===Verbindung zu Depot herstellen===
===Verbindung zu Depot herstellen===
<source lang=bash>
<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
</source>
</syntaxhighlight>


===Verbindung zu Depot entfernen===
===Verbindung zu Depot entfernen===
<source lang=bash>
<syntaxhighlight lang=bash>
  git remote rm origin
  git remote rm origin
</source>
</syntaxhighlight>


= Datei aus Repository entfernen (nicht löschen) =
= Datei aus Repository entfernen (nicht löschen) =

Version vom 10. März 2024, 14:16 Uhr

GIT-Tutorial: Übersicht

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