Xavier Lamorlette
git add .
: ajoute tous les fichiers du répertoire courantgit add -u
: met dans l'index tous les fichiers déjà suivis (modifiés et effacés)git blame [fichier]
git branch -v
: liste les branches localesgit branch -r
: liste les branches distantesgit branch -a
: liste les branches locales et distantesgit branch [branche]
: crée une branchegit branch -d [branche]
: efface une branche (interdit si elle n'a pas été fusionnée)
git branch -D [branche]
: efface une branche même si elle n'a pas été fusionnéegit branch [x] [y]
: crée une branche x à partir de la révision ygit branch -m [branche]
: renomme la branche courantegit branch -u [branche]
: suit une branche distantegit checkout [branche]
: bascule sur une branchegit checkout [fichier]
: annule tous les changements sur le fichier (revient au dernier commit)git checkout -b [branche]
= git branch [branche] && git checkout [branche]
git checkout -b [x] [y]
= git checkout [y] && git branch [x] && git checkout [x]
git cherry-pick [sha]
: applique un commit sur la branche courante.-a
: enregistre tous les fichiers modifiés et effacés (mais pas les nouveaux)-m "[message]"
: message de description--amend
: amende le dernier commit--fixup [sha]
: indique que le commit en corrige un précédent--no-verify
: désactive les hooks-b
: ignore les changements de nombre d'espaces-w
: ignore tous les changements sur les espaces--staged
: montre les changements déjà dans l'indexgit diff [sha]^ [sha]
: changements entre un commit et le précédent--prune
: efface localement les branches supprimées sur le dépôt.git
).
--summary
: montre seulement les fichiers modifiés--oneline
: une ligne par commit--decorate
: montre les changements de branches intermédiaires--graph
: visualisation graphiquegit log -- file
: liste les commits qui ont modifié le fichier donnégit log origin/prod..
: équivalent de hg out
git log ..origin/prod
: à faire après un git fetch
, équivalent de hg in
git merge origin/prod
--no-ff
: “no fast forward” : crée un commit pour ne pas perdre l'information sur l'existence de la branchegit fetch && git merge
.
git push [dépôt distant] [branche locale]:[branche distante]
-u
: se souvient des paramètres (notamment le dépôt et la branche) pour le prochain pushgit push origin --delete [branche distante]
: efface une branche distantegit rebase [branche]
: recopie (et donc change leurs sha1) les commits de la branche courante par dessus ceux de la branche donnée en paramètre.
git reflog
: affiche l'historique des actions
git remote -v
: montre quel est le dépôt de référencegit remote add origin [url du dépôt]
: ajoute un dépôt de référencegit remote set-url origin [url du dépôt]
: change le dépôt de référencegit reset [fichier]
: enlève un fichier de la liste du prochain commitgit reset [sha]
: déplace le head
et nettoie l'indexgit reset HEAD^
: annule le dernier commit et nettoie l'indexgit reset --soft [sha]
: déplace le head
, mais sans mettre à jour les fichiers et l'indexgit reset --soft HEAD^
: annule le dernier commit, mais laisse l'index intactgit reset --hard
: nettoie le répertoire de travail, utile après que des changements ont étés poussés depuis un autre dépôtgit reset --hard [sha]
: déplace le head
, nettoie l'index, et nettoie le répertoire de travailgit reset --hard HEAD^
: annule le dernier commit, nettoie l'index et abandonne les modifications des fichiersgit rm [fichier]
-r
: récursif (pour un répertoire)git stash
: met de côté les changements en cours (y compris ceux dans stage)git stash push [-m message] files
: met de côté les changements sur certains fichiersgit stash list
: liste les changements mis de côtégit stash show stash@{[x]}
: montre le résumé du changement (comme git diff --stat
)git stash show -p stash@{[x]}
: montre le diff du changementgit stash apply stash@{[x]}
: ré-applique le changementgit stash drop stash@{[x]}
: supprime le changementgit stash pop stash@{[x]}
: applique et supprime le changementgit stash clear
: supprime tous les changementsPour les commandes prenant un paramètre d'index, s'il est omis, le plus récent changement est utilisé.
staged
: fichiers prêts à être commitésunstaged
: fichiers modifiés mais pas dans l'indexuntracked
: fichiers encore jamais commitésdeleted
: fichiers effacésgit tag -a [étiquette]
> git checkout -f
> git branch [nom de la nouvelle branche]
> git reset --hard [sha du dernier commit à garder dans la branche actuelle]
> git checkout [nom de la nouvelle branche]
Source: SO: Move the most recent commit(s) to a new branch with Git.
> git rebase -i --autosquash [dernier commit à conserver]
> git rebase -i HEAD~[nombre de commits à fusionner]
# premier écran : basculer de “pick” à “squash” pour les commits à fusionner
# deuxième écran : message de commit
cf http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
> git reset --soft [sha du commit précédent ceux à regrouper]
> git commit -m "commentaire"
Garder l'authentification en cache une heure:
> git config --global credential.helper 'cache --timeout 3600'
> git remote add -f [bernard] https://[moi]@[serveur]/[projet].git
(> git remote update)
> git diff master remotes/[bernard]/master
> git fetch [bernard] master:[bernard]
> git checkout [bernard]
> git checkout master
> git remote rm [bernard]
> git branch -D [bernard]
git tag -l | xargs git tag -d && git fetch -t
git push --delete origin […]
~/.gitconfig :
[user]
email = …
name = …
[core]
autocrlf = input
safecrlf = false
[pull]
rebase = false
[alias]
lg = "log --all --decorate --oneline --graph"
La dernière mise à jour de cette page date d'octobre 2025.
Le contenu de ce site est, en tant qu'œuvre originale de l'esprit, protégé par le droit d'auteur.
Pour tout commentaire, vous pouvez m'écrire à xavier.lamorlette@gmail.com.