Zeile 100: |
Zeile 100: |
| * Holen von Änderungen vom Server | | * Holen von Änderungen vom Server |
| git pull | | git pull |
| + | |
| + | === Zweige === |
| + | |
| + | ==== Erzeugen von Zweigen ==== |
| + | Einen Branch/Zweig erzeugt man am einfachsten so: |
| + | git checkout -b NEUERZWEIG |
| + | |
| + | ==== Wechseln des Zweigs ==== |
| + | Zu einem anderen Zweig wechselt man mit |
| + | git checkout ZWEIG |
| + | |
| + | Der Standard-Zweig nennt sich normalerweise <code>master</code> oder <code>main</code>. |
| + | |
| + | ==== Auflisten von Zweigen ==== |
| + | |
| + | Die vorhandenen lokalen Zweige listet man mit |
| + | |
| + | git branch |
| + | |
| + | Die Zweige des entfernten Repository mit |
| + | git branch -r |
| + | |
| + | Dieser Befehl schaut nur ins lokale Repository, um die Zweige des entfernten Repository anzuzeigen. Um sicher zu sein dass die Liste aktuell ist, bitte vorher folgenden Befehl nutzen: |
| + | git fetch --all |
| + | |
| + | Um zuerst die zuletzt geänderten Git-Zweige anzuzeigen, nutzt man |
| + | git branch --sort=-committerdate |
| | | |
| === Git Merge === | | === Git Merge === |
| | | |
| Siehe [https://git-scm.com/book/de/v1/Git-Branching-Einfaches-Branching-und-Merging Anleitung zum Einfachen Branching und Merging] | | Siehe [https://git-scm.com/book/de/v1/Git-Branching-Einfaches-Branching-und-Merging Anleitung zum Einfachen Branching und Merging] |
| + | |
| + | === Ändern des letzten commits === |
| + | |
| + | Manchmal vergisst man eine Datei beim Commiten. Wenn es den letzten commit betrifft, ist die Fehlerbehebung einfach: |
| + | |
| + | git add FEHLENDE_DATEI |
| + | git commit --amend --no-edit |
| + | |
| + | === Zugang zu Git-Server über nicht Standard-SSH-Port === |
| + | |
| + | Wenn man (z.B. in einem [[Docker]]-Container) einen git-Server so eingerichtet hat, dass man ihn nur über einen [[SSH]]-Port erreicht, der nicht dem Standard-SSH-Port 22 entspricht, sollte man das <code>ssh://</code>-Schema nutzen: |
| + | git clone ssh://USER@SERVER:PORT/REPOSITORY |
| + | |
| + | === Anzeigen der Änderungen einer Datei === |
| + | |
| + | Um festzustellen, welcher Commit für die jeweilige Zeile in einer Datei verantwortlich ist, benützt man den Befehl |
| + | |
| + | git blame DATEI |
| + | |
| + | Um dazu auch die Commit-Message anzuzeigen, verwendet man folgendes leicht von [https://stackoverflow.com/questions/44177174/how-to-display-commit-message-along-with-blame-command ElpieKay] abgewandeltes Skript: |
| + | <pre> |
| + | git blame -l DATEI | while read hash others; |
| + | do |
| + | echo hash $others "|Subject:" $(git log -1 --pretty=%s $(echo $hash | sed 's/\^//g') ) |
| + | done |
| + | </pre> |
| + | |
| + | === Erstellen von Changelog === |
| + | |
| + | Es gibt Diskussionen, ob man aus der Git-Historie ein Changelog schreiben kann. Und es gibt dafür Tools. |
| + | |
| + | Siehe |
| + | * https://git-cliff.org/ |
| | | |
| === Weiteres zu Git === | | === Weiteres zu Git === |
Zeile 109: |
Zeile 169: |
| | | |
| * [http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup Getting started] | | * [http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup Getting started] |
| + | * [https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/ Bessere Commit Messages] |
| + | * [https://www.freecodecamp.org/news/git-internals-objects-branches-create-repo/ Wie arbeitet Git intern?] |
| + | |
| | | |
| ---- | | ---- |