Matthieu Mota
Web developer
Développeur web freelance depuis 5 ans
Expérience en agence web, E-Commerce (annonceur)
Formation Informatique et Autodidacte
Formateur et fan des OSS, contributeur à mes heures perdues
Solutions phares : Wordpress, Symfony, Magento, Prestashop, Angular
Langages : PHP, MySQL, HTML, CSS, JS
Git est un outil, créé par Linus Torvalds, nous permettant de faire du versioning (versionner notre code).
- Historique / Timeline des modifications
- Travailler sur des branches (Plusieurs versions)
- Historique de toutes les modifications du projet
- Travail en équipe : Fusion du code de chacun
- Revenir en arrière
- Suivre l'évolution du projet
- Travailler sur plusieurs branches en parallèle
https://git-scm.com/downloads
Git s'utilise principalement en CLI (Command Line Interface).
git --version # Permet de vérifier la version de Git installée sur le système
git init # Initialise un dépôt git dans un projet existant
git status # Affiche les fichiers/dossiers qui ont été modifiés depuis le dernier commit
git log # Liste l'historique des commits
git add FILE1 FILE2 # Ajouter les fichiers FILE1 et FILE2 dans la file d'attente
git add . # Ajouter tous les fichiers nouveaux / modifiés dans la fille d'attente
git commit -m "An amazing commit" # Créer un commit avec les fichiers dans la file d'attente
git push origin master # Mettre à jour le dépôt distant
git pull origin master # Mettre à jour le dépôt local
Il existe des GUI...
- Github Desktop
- Gitkraken
- Sourcetree
- Développer une feature de manière isolée
- Garder une version stable du projet et tester quelque chose
git branch <branch> # Créer une branche
git checkout <branch> # Se positionner sur la branche
git checkout -b <branch> # Créer la branche et se positionner dessus en une commande
git merge <branch> # Fusionner la branche dans la branche courante
- Peut arriver lors des fusions
- 2 branches modifient la même ligne et Git ne sait pas laquelle est correct
# Fichier dans master:
Le nombre de planètes est neuf.
# Fichier dans branch:
Le nombre de planètes est huit.
# On veut fusionner branch dans master.
git merge branch
# Si on voit quelque chose comme ça dans le résultat de la CLI
CONFLICT (content) : Merge conflict in <your_file.ext>
# Le fichier indique maintenant cela
<<<<<<< HEAD
Le nombre de planètes est neuf.
=======
Le nombre de planètes est huit.
>>>>>>> branch
# On peut corriger le conflit par
Le nombre de planètes est neuf, ou huit, cela dépend à qui vous demandez.
- Dépôt local au minimum
- Dépôt distant pour synchroniser avec une équipe et / ou partout dans le monde
- Serveur git, Github, Bitbucket, Gitlab
Le Fork est une copie que vous faites d'un dépôt existant. Vous pouvez ensuite effectuer vos modifications et proposer une pull request pour que le créateur du dépôt original accepte la modification... Ou pas.
C'est lorsqu'une demande de fusion d'une branche dans une branche (ou d'un dépôt forké dans son dépôt original) est demandée.
Permet de signaler un bug, demander une nouvelle fonctionnalité, ...
Possibilité de link avec une PR ou un / plusieurs commits.
http://www.nicoespeon.com/fr/2013/08/quel-git-workflow-pour-mon-projet/
https://i.stack.imgur.com/NuThL.png
- Cloner le dépôt JS du formateur
git clone URL DOSSIER
- Créer une branche prenom (matthieu par exemple ou julien)
cd javascript-formateur
git branch prenom
- Créer un dossier example avec ce que vous avez fait
- Faire un commit
- Pousser la branche
- On devrait pouvoir créer une Pull Request sur Github
By Matthieu Mota