Configuration globale
git config --global user.email "mail@domain.tld"
git config --global user.name "Kevin Allioli"
Voir sa configuration
git config --list
Initialiser un nouveau dépot:
git init
Cloner un dépot existant :
git clone ssh://user@domain.tld/repository.git
Ou
git clone https://domain.tld/user/repository.git
Créer un fichier « .gitignore » :
touch .gitignore
git add .gitignore
git commit -m "Add gitignore"
Créer un fichier « .gitignore » en utilisant un template « Windows »:
curl -s https://www.gitignore.io/api/windows > .gitignore
git add .gitignore
git commit -m "Add Windows gitignore template"
Créer un fichier « .gitignore » en utilisant un template « MacOS »:
curl -s https://www.gitignore.io/api/osx > .gitignore
git add .gitignore
git commit -m "Add macOS gitignore template"
Afficher le statut de votre répertoire de travail :
git status
Afficher les modifications sur les fichiers suivis :
git diff
Ajouter tous les changements au prochain commit :
git add
Ajouter tous les changements de toute l’arborescence :
git add --all
Commiter tous les changements locaux des fichiers suivis :
git commit -a
Commiter les modifications en attente :
git commit -m 'Your message'
Modifier le commit précédent :
git commit --amend
Ou
git commit --am
Afficher tous les commits :
git log
Afficher tous les commits (uniquement l’id et le message de commit) :
git log --oneline
Afficher l’historique d’un utilisateur uniquement :
git log --author="username"
Afficher l’historique des modifications pour un fichier uniquement :
git log -p <file>
Affiche les changements (en détails) dans le fichier :
git blame <file>
Lister toutes les branches du dépôt :
git branch
Changer de branche :
git checkout <branch-name>
Créer une nouvelle branche en se basant sur le HEAD :
git branch <branch-name>
Créer une nouvelle branche de suivi, basée sur une branche distante :
git branch --track <new-branch> <remote-branch>
Supprimer une branche :
git branch -d <branch-name>
Marquer le commit courant avec un tag :
git tag <tag>
Fusionner la branche courante avec la master ou main :
git checkout master/main
git merge <your-banch>
Mettre à jour votre branche avec le code de la master :
git checkout <your-branch>
git rebase master
Annuler un rebase en cours :
git rebase --abort
Continuer un rebase après avoir résolu des conflits :
git rebase --continue
Annuler le dernier git add :
git reset HEAD
Annuler les modifications locales d'un fichier spécifique :
git checkout HEAD <file>
Annuler un commit (création d’un commit avec les modifications inverses) :
git revert <commit>
Placer le pointeur du HEAD sur un commit précédent. Conserve toutes les modifications effectuées depuis :
git reset <commit>
Annuler toutes les modifications dans le répertoire de travail :
git reset --hard HEAD
Placer le pointeur du HEAD sur un commit précédent. Annule toutes les modifications effectuées depuis :
git reset --hard <commit>
Lister tous les dépôts distants configurés :
git remote -v
Montrer les informations d'un dépôt distant :
git remote show origin
Ajouter un nouveau dépôt distant :
git remote add <your-remote-repository> <url>
Synchroniser la branche « courante » avec la master/main. Et indiquer que le dépôt distant est par défaut l'origine.
git push -u origin master/main
Télécharger toutes les modifications d'un dépôt distant, sans les fusionner :
git fetch <remote>
Télécharger les modifications et les fusionner directement dans le HEAD :
git remote pull <remote> <url>
Fusionner les modifications de la branche master/main distante sur la branche courante :
git pull origin master/main
Récupérer toutes les modifications du HEAD dans le dépôt local :
git pull
Ou
git pull origin
Publier les modifications locales sur un dépôt distant :
git push
Ou
git push remote <remote-repository> <branch>
Publier les tags :
git push --tags