=== Git Workshop === == Initialisierung == $ git init verzeichnis z.B.: $ git init . == Konfiguration == $ git config gruppe.einstellung wert z.B. $ git config user.name "Kevin Krammer" $ git config user.email kevin@linuxtage.at Lokal für das aktuelle Repository $ git config --global .... Für den Useraccount == Commit == $ git commit -m "commit message oder $ git commit oder $ git commit -a Alles was derzeit geändert ist übernehmen. == Referenzierung == $ git show hash $ git show HEAD oberste/letzter commit $ git show HEAD~1 vorletzter commit == Partielles Hinzufügen == $ git add -p datei Einzelne Änderungsblöcke können gezielt zur Staging Area hinzugefügt werden oder verbleiben als lokale Änderung. === Reset === $ git reset HEAD~1 Letzten Commit zurücknehmen, Ändernungen des Commits werden wieder zu lokalen Änderungen === Zweige === $ git checkout -b neuer-branch Anlegen eines Zweiges "neuer-branch" $ git checkout branch-name Wechseln in den Zweig "branch-name" === Arbeitszweig vollständig übernehmen 1) Arbeitszweig aktualisieren $ git checkout arbeitszweig $ git rebase master 2) Arbeitszweig nach Master überführen $ git checkout master $ git merge arbeitszweig === Rebase abort === Wenn ein Rebase einen Konflikt verursacht aber man gerade diesen nicht beheben möchte, kann man das Rebase einfach abbrechen $ git rebase --abort Ansonsten Konflikt lösen und mit $ git rebase --continue weiter machen === Zweige löschen === $ git branch -d zweigname Löschen wenn zweigname vollständig im aktuellen Branch enthalnte $ git branch -D zweigname Löschen erzwingen auch wenn Änderungen in zweigname noch nicht übernommen wurden === Interaktives Rebase === $ git checkout arbeitszweig $ git rebase -i master Im Editor kann ich dann Commits entfernen, umordnen, ihre Commit Messages ändern (reword), Commits zusammenfassen (squash oder fixup) === Cherry-Picking === Einzelne Commits zwischen Zweigen teilen $ git checkout zielbranch $ git cherry-pick hash-des-gewünschten-commit