Git

Suivez les modifications du code, collaborez en équipe et maintenez l'historique du projet avec un contrôle de version distribué

TL;DR

En une ligne: Git suit chaque modification de votre code, permet d’annuler les erreurs et rend la collaboration possible.

Valeur principale:

  • Historique - chaque changement est enregistré
  • Annuler - revenir à n’importe quel état précédent
  • Branches - travailler sur des fonctionnalités sans casser le code principal
  • Collaboration - fusionner le travail de plusieurs personnes

Quick Start

Install

macOS:

brew install git

Windows: Télécharger Git pour Windows

Linux:

sudo apt install git  # Debian/Ubuntu

Configure

git config --global user.name "Votre Nom"
git config --global user.email "[email protected]"

First Repo

mkdir monprojet && cd monprojet
git init
echo "# Mon Projet" > README.md
git add .
git commit -m "Commit initial"

Cheatsheet

CommandeDescription
git initCréer un nouveau repo
git clone URLCloner un repo
git statusVérifier l’état actuel
git add FICHIERStager les changements
git add .Stager tous les changements
git commit -m "msg"Commiter les changements
git pushPousser vers le remote
git pullTirer depuis le remote
git branchLister les branches
git branch NOMCréer une branche
git checkout NOMChanger de branche
git checkout -b NOMCréer et changer
git merge NOMFusionner une branche
git log --onelineVoir l’historique
git diffVoir les changements non stagés
git stashSauvegarder temporairement
git stash popRestaurer les changements sauvegardés

Gotchas

Forgot to add files before commit

git add fichier-oublié
git commit --amend --no-edit

Wrong commit message

git commit --amend -m "Message correct"

Undo last commit (keep changes)

git reset --soft HEAD~1

Undo last commit (discard changes)

git reset --hard HEAD~1

Merge conflicts

Éditez les fichiers en conflit (cherchez <<<<<<<), puis:

git add .
git commit -m "Résoudre les conflits"

Accidentally committed to wrong branch

# Déplacer le commit vers la bonne branche
git checkout bonne-branche
git cherry-pick COMMIT_HASH
git checkout mauvaise-branche
git reset --hard HEAD~1

Next Steps