Suggerimenti: più di 100 comandi per GitHub / Git che dovresti conoscere

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}>
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

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Gabriel suddetto

    Eccellente compilazione di comandi 😉

  2.   Jesus Perales suddetto

    Ottimo contributo !!