Remote-URL ändern
Bash
git remote set-url origin https://gitlab.com/KodeKloud/repository-1.gitBashWorktrees
Mit Worktrees checkt man defacto eine Kopie des Repos aus, auch wenn in dem bestehenden Repo uncommittete Änderungen enthalten sind. Man arbeitet in der Kopie (extra Branch) commited seine Änderungen, gleicht mit dem master/main Branch ab und switcht zurück in den master/main Branch.
Bash
# Im Repo /Users/jane/foo
git worktree list # Alle anzeigen
git worktrees add ../foo-hotfix -b hotfix # Neuen Worktree unter foo-hotfix in neuem Branch hotfix anlegen
cd ../foo-hotfix # in Worktreeverzeichnis wechseln
# ggf Dependencies installieren
npm install # composer install
# Änderungen einchecken
git add . & git commit -m "Fix ..."
# Eventuelle Änderungen aus master/main abgleichen
git rebase main
cd ../foo
# Hotfix in den main mergen
git merge hotfix
# Nicht mehr gebrauchten worktree löschen
git worktree remove ../foo-hotfix
BashBranches anzeigen
Bash
git branchBashStashing (Zwischenspeichern)
Bash
git stash // Git Stand zwischenspeichern
git stash pop // Zu letztem Git Stand zurückkehren und diesen gleich löschen
git stash apply [stash-name] // Zu entsprechenden Git-Stand wechseln
git stash drop [stash-name] // Entsprechenden Git-Speicherstand löschen
git stash save "Name des Stashs" // Stash mit Namen speichern
git stash list // Alles stashes auflistenBashBranching
Bash
git branch // Alle Branches anzeigen
git checkout -b [BRANCHNAME] // Neuen Branch anlegen und gleich in diesen wechseln
git branch -d [BRANCHNAME] // Löschen des lokalen Branches
git push origin --delete [BRANCHNAME] // Löschen des RemotebranchesBashArtikel | Artikel zum Branchlöschen
Merging
Bash
git checkout master // HEAD / Master auschecken
git merge [BRANCHNAME] // Änderungen aus [BRANCHNAME] in master zusammenführenBashDiff
Bash
git diff --name-only master...xyz // Alle geänderten Dateien in einem Branch auflisten
git diff-tree --no-commit-id --name-only -r bd61ad98 // Alle geänderten Dateien in einem Commit auflistenBashVerzeichnis aus git NICHT lokal löschen
Bash
git rm -r --cached myFolderBashGelöschte Datei aus altem Stand ansehen
Bash
git log -- path/to/file
git show <commit_hash>:path/to/file
# BSP:
git show 3a9fbc1:src/config.phpBashGelöschte Datei aus altem Stand zum Vergleich wiederherstellen
Bash
git checkout <commit_hash>^ -- path/to/file
# BSP:
git checkout 3a9fbc1^ -- src/config.phpBash