Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
tools:git [2017/05/08 22:41] – [Befehle] admin | tools:git [2018/10/19 20:06] – [Vorherigen commit "löschen"] admin | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
Eine gute Anleitung ist auf der [[http:// | Eine gute Anleitung ist auf der [[http:// | ||
+ | |||
+ | ---- | ||
===== Befehle ===== | ===== Befehle ===== | ||
Zeile 16: | Zeile 18: | ||
git commit --amend | git commit --amend | ||
</ | </ | ||
+ | |||
+ | ==== Letzten commit " | ||
+ | |||
+ | Mit diesem Befehl wird der Branch auf den vorletzten Commit zurückgesetzt. Der letzte Commit ist in diesem Branch dann nicht mehr vorhanden. | ||
+ | |||
+ | < | ||
+ | git reset --hard HEAD^ | ||
+ | </ | ||
+ | |||
+ | ==== Vorherigen commit " | ||
+ | |||
+ | Wenn nicht der letzte, sondern einer der vorherigen Commits aus der Historie entfernt werden muss, kann man '' | ||
+ | |||
+ | **git-Historie: | ||
+ | < | ||
+ | b257cb2 | ||
+ | d26c6b7 | ||
+ | 522d6c5 | ||
+ | </ | ||
+ | |||
+ | **Anleitung: | ||
+ | < | ||
+ | # 1. Den Commit vor dem zu entfernenden Commit in der Historie suchen (z.B. 522d6c5): | ||
+ | git log --oneline | ||
+ | |||
+ | # 2. Neuen Branch anlegen mit dem letzten sauberen Stand: | ||
+ | git checkout -b tempfix 522d6c5 | ||
+ | |||
+ | # 3. Nun im neuen Branch alle Commits selektiv hinzufügen, | ||
+ | # die nach dem Problem-Commit folgten und behalten werden sollen: | ||
+ | git cherry-pick b257cb2 | ||
+ | |||
+ | # 4. Wechsel auf den alten, fehlerhaften Branch: | ||
+ | git checkout < | ||
+ | |||
+ | # 5. Hard reset auf den letzten sauberen Stand: | ||
+ | git reset --hard 522d6c5 | ||
+ | |||
+ | # 6. Die mit cherry-pick in den neuen Branch übernommenen Commits mergen: | ||
+ | git merge tempfix | ||
+ | </ | ||
+ | ==== Datei aus Index entfernen, ohne sie zu löschen ==== | ||
+ | |||
+ | Hiermit wird eine Datei aus dem git Repository entfernt, verbleibt aber als Datei am Speicherort. Zu beachten ist, dass sie dann ggf. auch auf externen Repositories (remote) verbleibt. | ||
+ | |||
+ | < | ||
+ | git rm --cached example.txt | ||
+ | </ | ||
+ | |||
+ | ---- | ||
===== Fehlerbehebung ===== | ===== Fehlerbehebung ===== | ||