6 Git
Lucas Peter edited this page 2021-11-14 14:17:44 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Notions de bases de Git

Dans les systemes de controles de versions classiques, chaque développeur reçoit une copie de travail qui renvoie à un seul dépôt central. Git, en revanche, est un système de contrôle de version distribué. Au lieu d'une copie de travail, chaque développeur obtient son propre dépôt local, avec un historique complet des commits.

Le fait de disposer d'un historique local complet rend Git rapide, puisque cela signifie que vous n'avez pas besoin d'une connexion réseau pour créer des commits, inspecter les versions précédentes d'un fichier, ou effectuer des diffs entre commits.

Commandes

Pull

Permet de recuperer les changements

Stage

Permet de preparer les fichiers locaux afin de les commits

Commit

Un commit est l'unité de base dans git, c'est une version du projet, modifiant un ou plusieurs fichiers

Push

Synchronise l'historique local et le serveur. La plupart du temps, envoie les modifications en ligne.

Les Branches

GitFlow

Gitflow est ce que lon appelle un workflow, une stratégie dutilisation de Git. Il en existe plein dautre, mais Gitflow est lun des plus connus.

Gitflow est un ensemble de règles simples qui se basent sur le fonctionnement par branche de Git.

Voici le principe de base : Notre projet sera basé sur deux branches : master et develop. Ces deux branches sont strictement interdites en écriture aux développeurs.

La branche master est le miroir de notre production. Il est donc logique que l'on ne puisse y pousser nos modifications directement.

La branche develop centralise toutes les nouvelles fonctionnalités qui seront livrées dans la prochaine version. Ici il va falloir se forcer à ne pas y faire de modifications directement.

Trois autres types de branches vont ensuite nous permettre de travailler :

  • feature, pour le développement des fonctionnalités
  • release, lors de la préparation d'une nouvelle version à build
  • hotfix, pour la correction de bugs des builds