Ieri è stata una giornata piuttosto di programmazione e mi ha portato a un conflitto con il repository git deposito di emanto dove ho ottenuto un elenco completo con più di 400 comandi per GitHub/Git considerati i più utilizzati, ciascuno di essi è accompagnato da una spiegazione del loro utilizzo. Se non hai idea di cosa sia GitHub o hai avuto problemi a installarlo, puoi andare su Guida rapida all'uso di GitHub questo eliminerà sicuramente tutti i tuoi dubbi.
Guida di Git per l'uso quotidiano, meno di 20 comandi per utilizzare git ogni giorno.
git Aiuto quotidiano
Mostra la guida di Git
git Aiuto -g
Sovrascrivi pull
git fetch --tutto && git reset --hard origin / master
Elenco di tutti i file fino a un commit
git ls-tree --solo nome -r <commettere-ish>
Aggiorna il riferimento al primo commit
git update-ref -d TESTA
Elenco di tutti i file in conflitto
git diff --name-only --diff-filter = U
Elenco di tutti i file modificati nel commit
git diff-tree --no-commit-id --name-only -r <commettere-ish>
Visualizza le modifiche apportate dall'ultimo commit
git diff
Confronta le modifiche preparate con il tuo ultimo commit
git diff --cached
Mostra la differenza tra le modifiche registrate e quelle non registrate
git diff TESTA
Elenca tutti i rami che sono già stati uniti al tuo master
git branch --master fuso
Passa rapidamente al ramo precedente
verifica git -
Rimuovi i rami che sono già stati uniti al master
git branch --master fuso | grep -v '^ \ *' | xargs -n 1 ramo git -d
Elenca tutti i rami e il loro ultimo commit con il ramo
ramo git -vv
Segui il ramo
git branch -u origin / mybranch
Elimina una filiale locale
ramo git -d <nome_ramo locale>
Elimina un ramo remoto
git push origin --delete <nome_ramo_remoto>
Annulla le modifiche locali con i contenuti più recenti in testa
git checkout - <file_name>
Ripristina un commit creando un nuovo commit
git ripristinare <commettere-ish>
Scartare un commit, è consigliato solo nei rami privati
resettare git <commettere-ish>
Modifica il messaggio di commit precedente
git commit -v --amend
Modifica l'autore
git commit --amend --author ='Nome dell'autore'
Reimposta l'autore, dopo che l'autore è stato modificato nelle impostazioni globali
git commit --amend --reset-author --no-edit
Modifica l'URL remoto
git remote set-url origin <URL>
Ottiene un elenco di tutti i riferimenti remoti
git remoto
Alternativa:
git spettacolo remoto
Ottieni un elenco di tutti i rami locali e remoti
ramo git -a
Ottieni un elenco di filiali remote
ramo git -r
Aggiungi le parti modificate di un file, invece dell'intero file
git aggiungi -p
Trova i tentativi completati
ricciolo http://git.io/vfhol > ~/.git-completamento.bash && eco '[-f ~ / .git-completamento.bash] &&. ~ / .git-completamento.bash' >> ~/.bashrc
Mostra i cambiamenti delle ultime 2 settimane
git log --no-merges --raw --since ='settimane fa 2'
Alternative:
git whatchanged --since ='settimane fa 2'
Visualizza tutti i commit dei fork principali
git log --no-merges --stat --reverse master ..
Selezione dei commit tra i rami utilizzando cherry-pick
git verifica <nome-filiale> && prendi il plettro <commettere-ish>
Trova i rami che contengono l'hash del commit
ramo git -a --contiene <commettere-ish>
Alternativa:
ramo git --contiene <commettere-ish>
Alias Git
gitconfig --global alias.<maniglia> <command>
gitconfig --global alias.st stato
Salvare (stasheado) rapidamente e provvisoriamente il lavoro svolto
git scorta
Alternativa:
git stash salva
Stash di tutti i file, anche quelli che non sono preparati.
git stash salva -u
Alternativa:
git stash save --include-untracked
Mostra l'elenco di tutti i file stasheado
git lista di scorta
Utilizzare qualsiasi modifica a fasi senza eliminarla dall'elenco a fasi
git stash si applica <scorta @ {n}>
Riapplica le modifiche apportate alle scorte e rimuovile dall'elenco delle scorte
git stash pop
alternative:
git stash apply stash @ {0} && git stash drop stash @ {0}
Elimina tutte le scorte memorizzate
svuota la scorta
alternative:
git stash drop <scorta @ {n}>
Prendi un file specifico che è stato nascosto
git verifica <scorta @ {n}> -- <percorso del file>
Alternativa:
git checkout stash @ {0} - <percorso del file>
Mostra tutti i file preparati
git ls-file -t
Mostra tutti i file che non sono stati preparati
git ls-files --altri
Mostra tutti i file ignorati
git ls-files --others -i --exclude-standard
Crea un nuovo albero di lavoro del repository (git 2.5)
git worktree aggiungi -b <nome-filiale> <sentiero> <punto di partenza>
Crea un nuovo albero di lavoro da una HEAD
git worktree aggiungi --detach <sentiero> TESTA
Elimina un file dal repository git senza eliminarlo dal repository locale
git rm --cached <percorso del file>
Alternativa:
git rm --cached -r <percorso_directory>
Prima di eliminare i file non preparati, fai un giro di prova per ottenere l'elenco di questi file.
git pulito -n
Forza l'eliminazione dei file non preparati
git pulito -f
Forza la rimozione delle directory non preparate
git clean -f -d
Alternativa:
git clean -df
Aggiorna tutti i sottomoduli
sottomodulo git per ogni git pull
Mostra tutte le modifiche nel ramo corrente che non sono state unite con il master
git cherry -v maestro
Alternativa:
git cherry -v maestro <ramo da fondere>
Rinomina un ramo
ramo git -m <nome-nuovo-ramo>
Alternativa:
ramo git -m [<nome-vecchio-ramo>] <nome-nuovo-ramo>
Aggiorna "funzionalità" e crea "master" unito
funzione di checkout di git && git rebase @ {- 1} && git checkout @ {- 2} && git merge @ {- 1}
Archivia il ramo principale
git archivio master --format = zip --output = master.zip
Modificare il commit precedente senza modificare il messaggio di report
git aggiungi --all && git commit --amend --no-edit
Elimina i rami remoti che non esistono più in origine
git recupera -p
Alternativa:
git origine prugna remota
Recupera l'hash del commit dalla revisione iniziale
git rev-list --reverse HEAD | testa -1
Visualizza l'albero delle versioni
git log --pretty = oneline --graph --decorate --all
Alternativa:
gitk: tutti
Aggiungi un progetto a un repository utilizzando hive
git subtree add --prefix =<nome_directory>/<Nome del progetto> --squash git@github.com:<nome utente>/<Nome del progetto>.git maestro
Ottieni le ultime modifiche dal tuo repository per un progetto collegato utilizzando la sottostruttura
git subtree pull --prefix =<nome_directory>/<Nome del progetto> --squash git@github.com:<nome utente>/<Nome del progetto>.git maestro
Esporta un ramo e la sua cronologia in un file
git bundle crea <filetto> <nome-filiale>
Importa da un pacchetto
git clone repository.bundle <repository-dir> -b <nome-filiale>
Ottiene il nome del ramo corrente
git rev-parse --abbrev-ref HEAD
Ignora un file che è già stato sottoposto a commit (ad esempio Changelog).
git update-index --assume-unchanged Registro delle modifiche; git commit -a; Log delle modifiche git update-index --no-assume-unchanged
Stashea cambia prima di riorganizzarsi
git rebase --autostash
Cerca per ID nella filiale locale
git fetch origine pull /<id>/ testa:<nome-filiale>
alternative:
git pull origine pull /<id>/ testa:<nome-filiale>
Mostra i tag più recenti del ramo corrente
git descrive - tag --abbrev = 0
Cerca le differenze.
git diff --parola-diff
Ignora le modifiche al file di traccia
git update-index --assume-invariato <file_name>
Disfare
git update-index --no-assume-invariato <file_name>
Pulisci i file .gitignore
.
git clean -X -f
Ripristina file cancellato.
git verifica <delete_commit>^ - <percorso del file>
Ripristina i file con uno specifico commit-hash
git verifica <commettere-ish> -- <percorso del file>
Riorganizza sempre invece di unire
git config --global branch.autosetuprebase sempre
Elenca tutti gli alias e le impostazioni
git config --lista
Rendi sensibile al maiuscolo / minuscolo git
git config --global core.ignorecase falso
Tipi di autocorrezione.
gitconfig --global Aiuto.correzione automatica 1
Verifica se la modifica fa parte di una versione.
git nome-rev --solo nome <SHA-1>
Corsa a secco pulita.
git clean -fd --esecuzione a secco
Contrassegna il commit come soluzione al commit precedente
git commit --fixup <SHA-1>
Correzione della zucca
git rebase -i --autosquash
Salta l'area di staging durante il commit.
git commit -am <messaggio di commit>
Elenca i file ignorati
git controlla-ignora *
Stato dei file ignorati
git status --ignorato
Commit in Branch1 che non si trovano in Branch2
git log Branch1 ^ Branch2
salvare e riutilizzare precedenti risoluzioni di conflitti
git config --global reference.enabled 1
Apri tutti i file in conflitto in un editor.
git diff - solo nome | uniq | xargs $ EDITOR
Contare il numero di oggetti non preparati e il loro consumo sul disco.
git count-oggetti --human-readable
Manutenzione di oggetti inaccessibili
git gc --prune = now --aggressive
Visualizza istantaneamente il tuo repository su gitweb.
git instaweb [--local] [--httpd=<httpd>] [--porta=<porto>] [- browser=<del browser>]
Visualizza le firme GPG nel registro di conferma
git log --mostra-firma
Rimuove le voci dalle impostazioni globali.
git config --global --unset <nome-voce>
Ottieni un nuovo ramo senza cronologia
git checkout --orfano <nome_ramo>
Visualizza la differenza tra il file di produzione e l'ultima versione di esso.
git diff --messo in scena
Estrai un file da un altro ramo.
git spettacolo <nome_ramo>:<file_name>
Elenca solo la radice e conferma l'unione
git log --primo-genitore
Unisci tra due commit
git rebase --interactive HEAD ~ 2
Elenca tutti i rami
master di git checkout && ramo git --no-merged
Trova utilizzando la ricerca binaria
git bisect start git bisect bad git bisect good v2.6.13-rc2 git bisect bad git bisect good git bisect reset
Elenca i commit e le modifiche di un file specifico
git log - seguire -p - <percorso del file>
Clona un singolo ramo
git clone -b <nome-filiale> --ramo singolo https://github.com/user/repo.git
Crea e passa a un nuovo ramo
git verifica -b <nome-filiale>
Ignora i file che hanno modifiche nei commit
git config core.fileMode falso
Eccellente compilazione di comandi 😉
Ottimo contributo !!