# Git ## Savez-vous (vraiment) utiliser Git ? [Slides](../resources/git-slides.key) [Exercice](./02_exercice.md) ## Petites astuces de configuration - De meilleurs [diffs](https://github.com/so-fancy/diff-so-fancy) - `git config --global push.default simple` Plus utile, puisque par défaut pour git 2.0. ## Formalisme des messages de commit ``` Première ligne courte, c'est le "titre". // Une ligne vide Le corps du message pour donner des détails expliqués le POURQUOI du commit. ``` Si vous souhaitez un formalisme officiel, le plus connu est celui issu du projet [Angular](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format). ## Conflits et fusion Pas de grandes leçons sur les stratégies pour résoudre des conflits, ... Mais une des règles de base est d'avoir un historique assez linéaire et de résoudre les conflits sur votre branche locale et pas dans Gitlab sur la Merge Request. - `git pull --rebase` - `git rebase dev` ## Branches - Branche dev ? - "Short-living branches" - Pourquoi faire une MR ? Qu'attendre d'une MR ? (Exercice) ## Qui a fait la boulette ? ``` git blame ``` ## Git, un système distribué - Pourquoi `origin` ? - C'est quoi un remote exactement ? ## Branche master vs main Depuis quelques temps, la branche par défaut sur Github est `main`. [Explications](https://github.com/github/renaming) ## Références Tuto interactif - [lien](https://learngitbranching.js.org/) Devoxx FR 2014 - Git++ : Passez au niveau supérieur de la gestion de version - [vidéo](https://www.youtube.com/watch?v=m0_C2cfM9IM) Git Better - [vidéo](https://www.youtube.com/watch?v=jtEthlTz1Q0) Savez-vous (vraiment) utiliser Git ? - [lien](https://github.com/Charlynux/presentations/tree/master/201902_DoYouActuallyKnowGit)