Cosa sono e come si usano i comandi più comuni di GIT?
Questo articolo fornisce un elenco dei comandi GIT più comuni, una breve descrizione e un esempio di utilizzo. Per una descrizione dettagliata di tutti i comandi GIT, controlla questa pagina.
- git config
Imposta i valori di configurazione per il tuo nome utente, e-mail, chiave gpg, algoritmo diff preferito, formati di file e altro. Esempi:
git config --global user.name "My Name"
git config --global user.email "user@domain.com"
- git init
Inizializza un repository git: crea la directory iniziale .git in un progetto nuovo o esistente. Esempio:
git init
Initialized empty Git repository in /home/customer/GIT/.git/
- git clone
Crea una copia del repository GIT da un’origine remota. Aggiunge anche la posizione originale come comando in modo da poterla recuperare nuovamente e spingerla verso di essa se si dispone di autorizzazioni. Esempio:
git clone git@github.com:user/test.git
- git add
Aggiunge le modifiche ai file nella directory di lavoro all’indice. Esempio:
git add .
- git rm
Rimuove i file dall’indice e dalla directory di lavoro in modo che non vengano tracciati. Esempio:
git rm filename
- git commit
Accetta tutte le modifiche scritte nell’indice, crea un nuovo oggetto commit che lo punta e imposta il ramo in modo che punti a quel nuovo commit. Esempi:
git commit -m ‘committing added changes’
git commit -a -m ‘committing all changes, equals to git add and git commit’
- git status
Mostra lo stato dei file nell’indice rispetto alla directory di lavoro. Elenca i file non tracciati (solo nella directory di lavoro), modificati (tracciati ma non ancora aggiornati nell’indice) e messi in scena (aggiunti all’indice e pronti per il commit). Esempio:
git status
# On branch master #
# Initial commit #
# Untracked files: #
# (use "git add <file>..." to include in what will be committed) #
README
- git branch
Elenca le filiali esistenti, comprese le filiali remote, se viene fornito “-a”. Crea un nuovo ramo se viene fornito un nome di ramo. Esempio:
git branch -a * master remotes/origin/master
- git merge
Unisce uno o più rami nel ramo corrente e crea automaticamente un nuovo commit in assenza di conflitti. Esempio:
git merge newbranchversion
- git reset
Reimposta l’indice e la directory di lavoro sullo stato dell’ultimo commit. Esempio:
git reset --hard HEAD
- git tag
Contrassegna un commit specifico con un handle semplice e leggibile che non si sposta mai. Esempio:
git tag -a v1.0 -m 'this is version 1.0 tag'
- git pull
Recupera i file dal repository remoto e li unisce a quello locale. Esempio:
git pull origin
- git push
Spinge tutti gli oggetti locali modificati nel repository remoto e fa avanzare i suoi rami. Esempio:
git push origin master
- git remote
Mostra tutte le versioni remote del repository. Esempio:
git remote origin
- git log
Mostra un elenco di commit su una filiale inclusi i dettagli corrispondenti. Esempio:
git log commit
84f241e8a0d768fb37ff7ad40e294b61a99a0abe Author: User <user@domain.com> Date: Mon May 3 09:24:05 2010 +0300 first commit
- git diff
Genera file patch o statistiche delle differenze tra percorsi o file nel tuo repository git, o nel tuo indice o nella tua directory di lavoro. Esempio:
git diff
- git archive
Crea un file tar o zip incluso il contenuto di un singolo albero dal tuo repository. Esempio:
git archive --format=zip master^ README >file.zip
- git gc
Pulizia (Garbage Collector) per il tuo repository. Ottimizza il tuo repository. Dovrebbe essere eseguito di tanto in tanto. Esempio:
git gc
Counting objects: 7, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (7/7), done.
Total 7 (delta 1), reused 0 (delta 0)
- git fsck
Esegue un controllo di integrità del file system Git, identificando oggetti danneggiati. Esempio:
git fsck
- git prune
Rimuove gli oggetti che non sono più indicati da alcun oggetto in alcun ramo raggiungibile. Esempio:
git prune