# Git init...iation ### Toute première fois : `git config` * Configurer le nom: * `git config --global user.name "John Doe"` * Configurer l'email: * `git config --global user.email johndoe@example.com` * Configurer l'éditeur par défaut * `git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe'"` * Installer une paire de clef * `ssh-keygen -t rsa` * transférer id_rsa.pub sur votre compte gitlab pour chacune de vos machines ### Cloner un projet git `git clone addresseDeRepository` ### Initialiser un nouveau projet local `git init` ### Créer / changer de branche La branche par défaut est `master`. `git branch maNouvelleBranche` `git checkout maNouvelleBranche` ### Enregistrer son travail `git commit -am "mon travail qui fait ceci #4999"` * l'option `a` dans `-am` signifie "all": tous les fichiers trackés sont inclus dans le commit. * l'option `m` préfixe le message de commit. ### Envoyer un travail vers le repository `git push` ### Ajouter des nouveaux fichiers / Commiter seulement une selection de fichiers `git add monFichier1 monFichier2 monFichier3` `git commit -m "commit seulement monFichier1 monFichier2 monFichier3` ### Voir les modifications actuelles / Où en suis-je ? `git status` ### Voir l'historique et l'arborescence des modifications `gitk` ### Enregistrer par dessus/corriger le commit précédent `git commit --amend` * l'option -a est toujours valable. ### Ecraser la branch distante après une modification de commit `git push --force` ### Récupérer les travaux distants lorsque mon repo est 'clean' `git pull` ### Installer mon travail local par dessus les travaux distants `git pull --rebase` **Préférez cette méthode** pour éviter les historiques pleines de croisement (`merge`). ### Gérer les conflits `git status` montre les fichiers en conflit et les commandes à appliquer pour finir la procédure. Pour un `git pull --rebase` on corrige les conflits avec n'importe quel editeur de code, on ajoute les fichiers corrigés `git add fichierCorrigé1` et on poursuit la procédure `git rebase --continue` ### Enregistrer un brouillon `git stash` toutes les modifications trackées sont sauvegardées dans un brouillon. Le repo revient au commit précédent. ### Réinstaller le brouillon `git stash pop` Les modifications en cours sont réinstallées sur mon travail local.