Git-Befehlsreferenz
Inhaltsverzeichnis:
Generelle Konfiguration
Beschreibung | Befehl | Bemerkung |
---|---|---|
Git-Benutzer setzen | git config –global user.name “tobi” | |
und E-Mail Adresse setzen | git config –global user.email “mail@example.com” | |
Konfiguration auslesen | git config –global –list |
Repositories klonen
Beschreibung | Befehl | Bemerkung |
---|---|---|
Repository klonen | git clone GIT-URL | |
Repository klonen | git clone -c http.sslverify=false GIT-URL | Keine Zertifikats-Prüfung |
Aus bestimmtem Branch klonen | git clone -b newFeature GIT-URL | |
In einen bestimmten Commit wechseln | git checkout | |
Aus einem bestimmten Branch pullen | git pull origin newFeature |
Mit Änderungen arbeiten/Commits
Beschreibung | Befehl | Bemerkung |
---|---|---|
Alle neuen/geänderten/gelöschten Dateien bekannt machen | git add . | |
Dateien commiten | git commit -m “Meine Änderungen” | |
Dateien commiten | git commit -a -m “Meine Änderungen” | Beinhaltet Git add |
Dateien pushen | git push | |
Änderungen lokal herunterladen | git fetch, danach git merge | Aber noch nicht in die lokalen Änderungen einfließen lassen |
Änderungen lokal herunterladen | git push | |
Den Commit für eine bestimmte Datei zurücknehmen | git rm –cached DATEI | |
Alle Änderungen an lokalen Dateien verwerfen und neu pullen | git reset –hard HEAD, (OPTIONAL) git clean -f -d , git pull |
Infos auslesen
Beschreibung | Befehl | Bemerkung |
---|---|---|
Git-URL und Branches anzeigen | git remote show origin | |
Verwendetes Protokoll/URL anzeigen (HTTPS/SSH) | git remote -v | |
Zeige lokale Änderungen | git diff | |
Alle Dateien anzeigen, bei denen im Vergleich zum letzten Commit eine Änderung festgestellt wurde | git status | |
Aktuelle und vergangene Commits anzeigen | git log | |
Zeige aktuellen Commit an, in dem man sich befindet | git show –online -s | |
Alle lokalen Branchess und den aktuell Genutzten anzeigen | git branch -a | |
Zeige alle remote Branches | git branch -r |
Submodule
Beschreibung | Befehl | Bemerkung |
---|---|---|
Submodul in bestehendes Repo hinzufügen | git submodule add –branch main git@example.com:pfad/zum/repo/repo.git ./ordner | |
Git clone eines Repos inkl. Submodule | git clone –recursive git@example.com:pfad/zum/repo/repo.git | |
Git pull inkl. Submodul | git pull –recurse-submodules | |
Neueste Version (Commit) des Submoduls pullen | git submodule update –remote | |
Welcher Commit wird vom Submodul momentan verwendet? | git submodule status | |
Submodul entfernen | git rm global_config |
Branches
Branch erstellen
Neuen lokalen Branch erstellen
git checkout -b newFeature
Branch nach Git pushen
git push origin newFeature
Danach sollte der neue Branch in der GIT-Oberfläche sichtbar sein
Branch remote hochladen
git remote add newFeature <Repository URL>
Den neuen Branch als Upstream Branch setzen
git push --set-upstream origin newFeature
In den neuen Branch wechseln
git checkout newFeature
Jetzt kann ganz normal commited/gepushed werden
Branch mergen
Den neuen Branch in den main-Branch übernehmen (mergen)
git checkout main
git merge newFeature
git push
Den Branch anschließend lokal löschen
git branch -d newFeature
Den Branch remote löschen auf dem GIT-Server
git push origin -d newFeature
Einen Branch löschen (lokal+remote)
Erst in den Main-Branch wechseln:
git checkout main
git branch -d newFeature
git push origin --delete newFeature
Repo-Anpassungen
Lokales Repo von HTTPS auf SSH umstellen (oder anders herum)
git remote set-url origin GIT-URL
Repository wurde umgezogen - URL anpassen im lokalen Repo
git remote remove origin
git remote add origin git@git.tmack.de.de:/<Path>/<Repository>.git
git push --set-upstream origin --all