Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
git [2018/11/10 22:12] root [Branch] |
git [2022/02/07 21:50] (aktuell) root [pull] |
||
|---|---|---|---|
| Zeile 51: | Zeile 51: | ||
| * der Head-Pointer existiert nur einmal pro git-Projekt und verweist immer auf das aktuelle (gewählte, muss nicht das letzte sein) commit im aktuellen Branch | * der Head-Pointer existiert nur einmal pro git-Projekt und verweist immer auf das aktuelle (gewählte, muss nicht das letzte sein) commit im aktuellen Branch | ||
| * der Inhalt des Working Directory und der Commit auf den der Head-Pointer verweist stimmen immer überein | * der Inhalt des Working Directory und der Commit auf den der Head-Pointer verweist stimmen immer überein | ||
| + | |||
| + | |||
| + | ===== Remote ===== | ||
| + | |||
| + | * Remote-Repositories sind Repositories in die hochgeladen werden kann | ||
| + | * sie sind eine " | ||
| + | * sie müssen nicht alle Branches enthalten die auch lokal vorhanden sind | ||
| + | * Remote-References sind Pointer auf bestimmte Objekte im Remote-Repository | ||
| + | * Branches, Tags usw. | ||
| + | * sie können aufgelistet werden mit remote show | ||
| + | |||
| + | |||
| + | |||
| + | * Remote-Tracking-Branches sind Pointer die auf den Commit Remote zeigen an dem das letzte Mal mit dem jeweiligen Remote-Branch kommuniziert wurde (fetch, pull, push) | ||
| + | * Remote-Tracking-Branches haben die Form: | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | * Remote steht dabei für den Namen des Remote-Repository (git remote show) | ||
| + | * Branch ist der Name des Branches | ||
| + | * man kann für ein Repository auch mehrere Remote-Tracking-Branches haben | ||
| + | * macht man ein pull gegen eines und dies hat einen älteren Stand als man selbst (weil das zweite Remote-Repository einen neueren Stand hat) wird nur der Remote-Tracking-Pointer für das mit dem älteren Stand auf den neuesten Commit den es hat gesetzt - ansonsten passiert nichts (es wird nicht automatisch upgedated, man bekommt auch keine Daten -> da man eh neuere hat) | ||
| + | * push ist einfach -> git push < | ||
| + | * neues Repository pushen (welches noch nicht Remote vorhanden ist): git push < | ||
| + | * soll das Repository remote unter einem anderen Namen erscheinen: git push < | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Zeile 256: | Zeile 286: | ||
| * Remote ist das Kürzel des Repositories von dem heruntergeladen wird | * Remote ist das Kürzel des Repositories von dem heruntergeladen wird | ||
| + | |||
| + | |||
| + | * Die Option " | ||
| + | * das heißt die Änderungen von Remote werden nicht nach den lokalen Commits hinzugefügt, | ||
| + | | ||
| + | |||
| Zeile 459: | Zeile 495: | ||
| * | * | ||
| + | |||
| + | |||
| + | ===== Rebase ===== | ||
| + | |||
| + | * Ändert die Git-History | ||
| + | |||
| + | * Wenn sich remote etwas geändert hat, kann der Remote-Stand untergehoben werden (aktueller, noch nicht gepushter Commit wird gestashed, die Änderung aus einem anderen Branch (aktueller Stand) eingespielt und die gestashten Änderungen als letzter Commit oben drauf gesetzt) | ||
| + | * noch nicht gepushte Commits können nachträglich bearbeitet werden | ||
| + | * zusammengeführt werden (squash) | ||
| + | * Änderungen vorgenommen werden | ||
| + | |||
| + | ==== Squash ==== | ||
| + | |||
| + | * Zusammenführen mehrerer (ungepushter) Commits zu einem | ||
| + | |||
| + | < | ||
| + | git rebase -i < | ||
| + | </ | ||
| + | |||
| + | Basis: | ||
| + | |||
| + | * meint alle Commits nach dem als Basis angegeben Commit stehen als Edit zur Verfügung | ||
| + | * HEAD~[Anzahl Commits zurück] -> nimm den Commit x Commit zurück als Basis | ||
| + | * < | ||
| + | * < | ||
| + | |||
| + | * Im sich öffnenden Editor alle Edits die mit dem letzten (oberster Eintrag) zusammengeführt werden sollen mit dem Keyword squash versehen (anstatt von pick) | ||
| + | * Editor mit schreiben beenden | ||
| + | |||
| + | |||
| + | |||