Git Cheatsheet

Branches

Scaricare un branch remoto in locale

git checkout -b <local-branch> origin/<remote-branch>

Clonare un repo da un branch specifico

git clone --branch <branchname> <remote-repo-url> 

oppure

git clone -b <branchname> <remote-repo-url>

Rebase

Configurazione

git config --global pull.rebase true

Suddividere un commit precedente in più commit

git rebase -i <commit hash>

Sostituisci pick con edit al commit interessato

git reset HEAD~

Aggiungi i file, o le porzioni di codice interessato, allo stage e committa i nuovi commit.

Concludi con:

git rebase --continue

Trovare dove si è rotta l'app

git bisect

se da questo errore: "fatal: invalid reference:" runnare: "rm .git/BISECT_*"

Configurazioni

Mostrare le configurazioni

git config --list

e dove sono state definite (tre livelli: locale, nel repository, globale: per utente, sistema: per tutti gli utenti del sistema)

git config --list --show-origin

Configurare la propria identità

git config --global user.name "Nome Cognome"
git config --global user.email "nome.cognome@esempio.it"

lo stesso comando lanciato senza --global all'interno di un repository configurerà uno specifico utente solo per quel repository

Configurare il nome del branch principale

git config --global init.defaultBranch main

Cambiare la data di un commit

GIT_COMMITTER_DATE="Wed Sep 9 22:00 2020 +0530" git commit --amend --date="Wed Sep 9 22:00 2020 +0530"