Git

Aus Nicki Wiki
Version vom 6. Oktober 2023, 11:00 Uhr von Nick (Diskussion | Beiträge) (→‎Tag)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Häufige Befehle

Config

git config --global user.name "Your Name"
git config --global user.email "your_email@example.de"
git config --global core.editor "vim"

Benutzername und Passwort für eine bestimmte Zeit speichern:

git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=600'

Clone

git clone <Repo-Pfad>
git clone --branch <Branch-Name> <Repo-Pfad>
git clone --recurse-submodules <Repo-Pfad>
git clone --branch <Branch-Name> --recurse-submodules <Repo-Pfad>

Branch

git checkout <Branch-Name>                 # branch auschecken
git checkout -b iss53                      # Neuen branch anlegen und auschecken
git push --set-upstream origin iss53       # push new branch
git branch -d iss53                        # delete branch local
git push origin --delete iss53             # delete branch remote

git checkout -- <Datei>                    # Änderung verwerfen

git branch -m <newname>                    # branch Namen ändern
git push --set-upstream origin <newname>   # neuen branch Namen remote bekannt machen

git branch -f Dev ad4f43af43e              # branch Dev dem commit ad4f43af43e zuordnen

git push -d origin dev                     # branch dev remote löschen

Stage/Commit

git add .                   # Stagen
git reset .                 # Stage verwerfen
git commit -m "commit Text" # Commit
git reset --soft HEAD^      # Commit Rückgängig machen
git reset --hard HEAD^      # Commit verwerfen
git rev-parse HEAD                # Zeigt HASH lang
git log --pretty=format:'%h' -n 1 # Zeigt HASH kurz

Submodule

Ist im Repo ein submodule und in diesem ebenfalls ein submodule welches mann updaten möchte muss das aus dem ersten submodule mit git submodule update --remote erfolgen.

git submodule add -b master <Repo-Pfad> <lokaler-Pfad>  # add submodule
git submodule init                                      # init
git submodule update --remote                           # update submodule
git submodule update --init --recursive                 # init + update + sub-submodule
git clone --recurse-submodules https://path
git submodule update --remote                           # pull all changes for the submodules

Tag

git tag -a v0.1 -m "Kommentar" # Tag
git push origin v0.1           # push Tag remote