git init
: Initialiser un nouveau dépôt Git. Jusqu’à ce que vous exécutiez cette commande dans un dépôt ou répertoire, c’est juste un dossier ordinaire.
Seulement après avoir entré cette commande, il accepte les commandes git qui suivent.
git config -l
: Lire le contenu de la configuration
git config
: Configurer Git, ceci est tout particulièrement utile quand vous paramétrez Git pour la première fois.
git config --global user.name "<user-name>"
git config --global user.email "<contact@gmail.com>"
--global
définie la configuration de manière globale. Vous ne serez pas obligé de configurer chaque dépôt séparément.
git remote add origin <url>
: Indiquer le répertoire git
a utiliser sur le serveur github (utiliser la méthode ssh -> public key)
git push --set-upstream origin master
: Permettre de téléverser le répertoire local vers le répertoire git sur le serveur
git submodule add <host>
: Ajouter un projet externe dans le projet principal
.gitignore
: Lister les fichiers ou dossiers à ignorer (important pour les mots de passe)
git ls-remote
git status
: Vérifier le statut de votre repository. Voir quels fichiers sont à l’intérieur, quelles sont les modifications à commiter, et sur quelle branche du repository vous êtes en train de travailler
git add <nomDeFichier>
: Ajouter les fichiers et modifications à l'index
git add .
: Ajouter tous les fichiers
git rm --cached <fichier>
ou git reset <fichier>
: Supprimer les modifications de l'index
git commmit -m "<message>"
: Créer un commit
git diff HEAD^ HEAD
: Adficche la différence entre les 2 derniers commitsgit commit -am "<message>"
: Combine les deux opérations précédentes
git diff <fichier>
: Afficher la différence entre le dernier commit et les nouvelles modifications (à faire avant git add
)
git diff ---cached <fichier>
HEAD est un tag indiquant le commit sur lequel on se situe
git stash save "message"
: Mettre de côté les modificationsgit stash list
: Affiche les stashs
git stash show <stash-ID>
: Affiche plus d'informations sur le stash
git stash pop <stash-ID>
: Reintègre les modifications (avant commit)
git stash apply
: rec avant commit
git log
: afficher la liste de tous les commits que vous avez réalisés
git log --online
: Afficher seulement l'entête des commitsgit log -n 2
: Afficher les 2 derniers commitsgit log <nomDeLabranche>
git log -a
: Afficher tous les commits après avoir fait git fetch
git show <SHADuCommit> | <tag>
: Afficher un commit précis (même affichage que git diff)
git checkout <sha-1> | <tag>
: Se placer sur un commit, git checkout master
pour revenir
git branch
: Voir les branches
git branch <nomDeLaBranche>
: Créer une nouvelle branche
git branch -d <nomDeLabranche>
: Supprimer la branche localegit push origin --delete <nomDeLabranche>
: Supprimer la branche sur le dépôt distantgit branch -a
: Afficher toutes les branches locales et distantesgit checkout <nomDeLaBranche>
: Sélectionner une autre branche
git checkout -b <nomDeLaBranche>
: Créer une branche et se placer dessus
git tag
: Afficher la liste de tous les tags
git tag <tag-name>
: Attribuer un tag au commitgit tag --delete <tag-name>
: Supprimer le nom du taggit push --tags
: Mettre à jour les tags sur le dépôt distantgit blame <fichier>
: Afficher toutes les modifications d'un fichier
git commit --amend -m "<nouveau message>"
: Modifier le message du derniers commit
git remote -v
: affiche la liste des distants
git remote add
: cloner le dossier sur le serveur (utiliser la méthode ssh -> public key)
git clone <host>...
: importer le dossier repository
git push [origin master]
: Mettre en ligne les commits
git push --tag
: Publier les commits de tous les tags (Release)git push --all
: Publier les commits de toutes les branchesgit push -f
: Forcer la publication des commitsgit pull
: Mettre a jour la version locale (Réalise un merge si il y a conflit)
git merge --abort
: Annuler git pull
si il y a conflitgit pull --rebase
: Mettre a jour la version locale
Résoudre le conflit, faire un commit puis git rebase --skip
git fetch
: cette commande s'adresse au dépôt distant et récupère toutes les données de ce projet que vous ne possédez pas encore
git diff HEAD...origin/master
: cette commande produit une différence entre le sommet de 2 banches. Si vous préférez trouver la différence de leur ancêtre commun, vous pouvez utiliser 3 points au lieu de 2
git diff master...test
git cherry-pick <SHADuCommit>
: Replacer un commit d'une branche à une autregit checkout <branche A>
puis git merge <branche B>
: Fusionne la branche A et B dans A
git commit --amend
: Ajouter des changements au derniers commmitgit reset
: Annuler l'indexationgit reset [--soft] <fichier>|<commit-(c-1)>
: Annuler un commit mais garder les changementsgit reset [--hard] <fichier>|<commit-(c-1)>
: Annuler un commit mais sans garder les changementsL'annulation fait qu'on se repositionne sur un commit antérieur
git revert <SHADuCommit>
: Annuler ou Créer un commit inverseréf[1]
git log --grep <expression>
Suivre ce lien pour plus de détail
git help
: Oublié une commande ? Tapez-ça dans la ligne de commande pour afficher les 21 commandes les plus courantes de Git. Vous pouvez aussi être plus spécifique et saisir “git help init” ou tout autre terme pour voir comment utiliser et configurer une commande spécifique gitgit fetch
git log HEAD..origin/master
git log -p HEAD..origin/master
git diff HEAD...origin/master
La première fois, on peut extraire tous les sous-modules en utilisant
Pour mettre à jour les sous-modules, on peut faire
git add .gitmodules
pour mettre à jour les changements..git/config
.git rm --cached path_to_submodule
(aucune barre oblique finale).rm -rf .git/modules/path_to_submodule
(pas de barre oblique finale).git commit -m "Sous-module supprimé"
.rm -rf path_to_submodule
.Explications supplémentaires : https://stackoverflow.com/questions/5798930/git-rm-cached-x-vs-git-reset-head-x ↩︎