Show Menu

Git basics commands Cheat Sheet by [deleted]

most usefull commands
git

Workflow

La règle d'or est de ne jamais travailler sur master et toujours la garder foncti­onn­elle.

Implém­ent­ation d'une nouvelle feature:

1) Créer une nouvelle branche
$ git checkout -b <br­anc­hNa­me>

2) Une fois le travail terminé
$ git add <fi­le(­s)> && git commit -m 'message explicite'

3) Récupérer les change­ments sur master depuis le début de ma feature
$ git checkout master && git pull

4) Ajouter les change­ments à ma branche
$ git checkout <br­anc­hNa­me> && git rebase -i master
Profitez de cette étape pour mettre un clean dans les commit et ne faire qu'un seul commit structuré. (option 'squash' dans l'editeur qui rebase)

5) TESTER QUE TOUT FONCTI­ONNE

6) RETESTER QUE TOUT FONCTI­ONNE

7) Repasser sur master, vérifier qu'aucun changement n'a été effectué durant les tests
$ git checkout master && git pull
Si il y a eu des change­ments répéter les étapes 4, 5, 6 et 7 sinon continuer a l'étape suivante

8) Ajouter ma feature sur master
$ git merge <br­anc­hNa­me>
Les change­ments sont maintenant sur master.

9) Détruire la branche en local et sur le serveur
$ git branch -D <br­anc­hNa­me> && git push origin :<b­ran­chN­ame>

Merge / Rebase

Fusionne <br­anc­h> avec la branche courante
$ git merge <br­anc­h>
Rebase la branche courante avec <br­anc­h>
$ git rebase <br­anc­h>
Rebase en mode interactif
$ git rebase -i <br­anc­h>
Annuler un rebase en cours
$ git rebase --abort
Ajoute les fichiers pour continuer le rebase (après avoir réglé les conflits)
$ git add <fi­le>
Valider le rebase après avoir résolu les confits et add les fichiers
$ git rebase --continue

Tools

Atom avec les plugins:
Merge conflict
git control
git log

shell
http:/­/oh­myz.sh/

client graphique git
sourcetree (mac)
gitk (linux)
 

Save time

git config --global editor.<editorName>

git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --oneline --decorate --graph --all"
git config --global alias.unstage "reset HEAD --"
git config --global alias.uncommit "reset --soft HEAD^"

Ajouter un .gitignore a la racine de votre dépôt et ajouter les classiques
*.o
*~
*.txt
le nom du binaire et ce que ne voulez pas rendre en général.

Divers

Statut des fichiers dans le dossier courant
$ git status
Afficher l'hist­orique des commits
$ git log
Afficher les différ­ences depuis le précédent commit
$ git diff ou git diff <na­me> pour spécifier un fichier
Se déplacer sur un commit en partic­ulier
$ git checkout <SH­A_1>

Branch

Créer une branche
$ git branch <br­anc­h_n­ame>
Effacer une branche en local
$ git branch -D <br­anc­h_n­ame>
Effacer une branche sur le serveur
$ git push origin :<b­ran­ch_­nam­e>
Afficher la liste des branches
$ git branch
Changer de branche
$ git checkout <br­anc­h_n­ame>
Créer et changer de branche
$ git checkout -b <br­anc­h_n­ame>

Panic button

Enlever un fichier indexé
$ git reset HEAD <fi­leN­ame>
Déplacer la HEAD sur le commit précédent
$ git reset --soft HEAD^
Editer le précédent commit
$ git commit --amend
Annuler tous les changement sur un fichier depuis le précédent commit
$ git checkout -- <fi­leN­ame>
Restaurer l'état du dossier et faire une copie temporaire des changement en cours
$ git stash
Afficher la liste des sauver­gardes tempor­aires
$ git stash list
Récupérer une sauvegarde temporaire
$ git stash drop / git stash drop stash@{2}
Supprimer la liste des sauveg­ardes tempor­aires
$ git stash clear

Download the Git basics commands Cheat Sheet

2 Pages
//media.cheatography.com/storage/thumb/deleted-26084_git-basics-commands.750.jpg

PDF (recommended)

Alternative Downloads

Share This Cheat Sheet!

 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          Git Cheat Sheet
          Git Flow Cheat Sheet