git


I - Basiques


# cloner un projet
$ git clone

$ git commit

# on tire
$ git fetch

# on tire et on update
$ git pull

# on pousse
$ git push

# ajout en zone de staging
$ git add -p
$ git add .

# on supprime
$ git rm

# on déplace
$ git mv

# status
$ git status

# ajouter un dépôt
$ git remote add origin https://…

# consulter espaces distants
$ git remote -v

# ajouter modifs au dernier commit
$ git add .
$ git commit --amend # propose màj du message

# connaitre configuration du dépôt
$ git config -—list

# pour avoir détail sur les modifications
$ git show debut_sha

II - Historique


# modifications depuis le dernier commit
$ git diff HEAD

# historique
$ git log --graph
$ git log --oneline

# qui a écrit cette ligne ?
$ git blame main.cpp
$ git gui blame main.cpp

# aller-retour
$ git checkout 2168f46
$ git checkout master

# récupérer la version d'un fichier à ce commit
$ git checkout 1123 index.php
$ git checkout master index.php

# reviens à un état et garde les modifs en non stagées
$ git reset 2168f46 [--mixed]

# reviens à un état et garde les modifs en stagées
$ git reset 2168f46 --soft

# revient au dernier commit sans les modifs entre le HEAD et maitenant
$ git reset --hard 

# annuler un add
$ git reset HEAD <file>

$ git log --oneline -p index.php

$ git reflog
$ git reset 'HEAD@{1}'

III - Les branches


# créer une branche
$ git branch new-feature

# on saute sur cette branche
$ git checkout new-feature

# branche courante
$ git branch
* master
  new-feature

# on bosse...
# on commit

# on revient sur master
$ git checkout master

# fusion: être sur la branche qui va recevoir (ex: master)
$ git merge new-feature

# on supprime la branche car plus utilée
$ git branch -d new-feature

IV - Git hooks