Repository mit Git ⋆

  • Beitrags-Autor:
  • Beitrags-Kategorie:Software

Das lokale Verzeichnis c:\develop\my_project soll auf dem NAS verfügbar gemacht werden. Die Freigabe der NAS ist als Laufwerk X:\ eingebunden.

Im ersten Schritt die Quelle vorbereiten. Es wird eine Kopie vom aktuellen lokalen Repositiory ohne Arbeitsverzeichnis erzeugt. Die Kopie wird auf das NAS verschoben.

cd c:\develop
git clone --bare my_project my_project.git
xcopy my_project.git x:\repros\my_project.git /S /E
rd my_project.git /S /Q

Abschließend wird das lokale Arbeitsverzeichnis mit dem neue Repositiory für den gemeinsamen Austausch verbunden.

cd c:\develop\my_project
git remote add origin x:\repros\my_project.git
git remote -v
git remote show origin

Nun können Änderungen auf dem NAS veröffentlicht werden.

cd c:\develop\my_project
git status
git commit -am "my important comment"
git log -1
git show-branch *master
git push origin master

Diff

# Änderungen prüfen
git diff --check

siehe auch Git-Referenz in Bildern

Taggen

git tag -a v0.2 -m "Version 2020/08, Abc, Def"
git tag -l
git show v0.2

siehe auch Erklärung im Grundlagen-Kapitel

Alias

aufwendige Parameterketten zusammenfassen/verinfachen

git config --global alias.lg "log --all --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
git lg

Zeilenende

automatische Ersetzung ausschalten (ggf. VSCode Strg+P „Change End of Line sequence“)

git config --global core.autocrlf false

siehe auch Git Zeilenenden, empfohlen wird \n

Sonstiges

git config --global user.name "Karl Mustermann"
git config --global user.email karl@mustermann.de
# git config --global --edit
git commit --amend --reset-author
# Branch "develop" erstellen und aktivieren
git checkout -b develop
# alle Branches zeigen
git branch -a
git show-branch -a
# Remote-Branch holen
git checkout --track origin/newsletter
# Änderung ohne Commit (vor Stage) rückgängig machen
git checkout -- hosts.txt
# Branch "master" öffnen und "develop" einarbeiten
git checkout master
git merge develop
# Branch "develop" löschen
git branch -d develop
# eine Vaiable im Arbeitsverzeichnis abfragen
git config --get --bool core.bare
# Änderung im Arbeitsverzeichnis rückgangig machen
git reset hosts.txt
# mit erstem Push den Upstream konfigurieren
# im Anschluss nur noch: git push
git push --set-upstream origin master
# Benutzer nachträglich ändern
git config --global --edit
git commit --amend --reset-author
# Wartung durchführen
git count-objects -v
git fsck --full
git gc --auto
git remote set-url origin https://git.meine.de/ich/REPO.git
git pull origin master --allow-unrelated-histories
# Dateien vom Commit
git show --pretty="" --name-only 16f0
# Datei vom anderen Branch
git show master:dbtool.bat
# Repo durchsuchen
git rev-list --all | xargs git grep -F 'dbtool'
# Repo aufräumen
git gc --prune=now --aggressive
# Commits zählen
git rev-list --count feature-fa

siehe auch: Git version control with Eclipse (EGit), A guide to Git… oder How to fix a broken repository?