La gestion de version

C'est un pic, c'est un cap, que dis-je c'est Git !

Quoi c'est ça Git ?

“Git est un logiciel de gestion de versions décentralisé”

Il fournit des fonctionalités plus poussées que Subversion

Pourquoi utiliser Git

  • Un outil décentralisé
  • Évite la perte de ses projets
  • De nombreux sites et outils
  • Une forte communauté

Étape 1: Création du Dépôt

Pour créer un dépôt vide


					$ mkdir repo && cd repo && git --bare init
					

S'authentifier


					$ git config --global user.name "magicarp"
$ git config --global user.email "toto@mail.fr"
					

Commencer un nouveau projet

Clonage du dépôt dans le dossier "foo"


				$ git clone path/to/repo foo && cd foo
				

Et... c'est tout

Commencer avec un projet existant

Aller dans le dossier du projet et initialiser un suivi de version


				$ cd foo && git init
				

Prérarer sa remote


				$ git remote add origin path/to/repo
				

Étape 2: Gestion basique des fichiers

Création d'un fichier


				$ touch licorne
				

Ajouter un fichier


					$ git add licorne
					

Supprimer un fichier en local et de l'index


					$ git rm licorne
					

Supprimer uniquement le fichier de l'index


					$ git rm --cached licorne
					

Renommer/Déplacer un fichier


					$ git mv licorne loutre
					

Étape 3: Vérifier l'état de son répertoire de travail


					$ git status
					

Étape 4: Valider ses modifications

Sur un fichier en particulier


					$ git commit foo -m 'modification de foo'
					

Sur l'ensemble des modifications


					$ git commit -am 'commit de masse !!!'
					

Étape 5: Envoyer ses modifications


					$ git push origin master
					

Récupérer des modifications

Récupérer les données


					$ git fetch origin master
					

Opérer la fusion


					$ git merge FETCH_HEAD
					

Raccourci


					$ git pull origin master
					

Gérer les conflits

1. Édition du fichier en conflit pour fusionner les bonnes modifications


					$ vim licorne
					

2. Marquer le conflit comme résolu


					$ git add licorne
					

3. Valider la résolution


					$ git commit -m 'fin du conflit sur la licorne'
					

Les branches

C'est un mécanisme très puissant de Git qui permet d'ajouter des fonctionalités en s'assurant qu'elles fonctionnent

Lister les branche locales


					$ git branch
					

Création d'une branche

Création de la branche


					$ git branch awesomeFeature
					

Suivi de la branche


					$ git checkout awesomeFeature
					

Raccourci


					$ git checkout -b awesomeFeature
					

Ajout de la branche distante

Dans la branche awesomeFeature


					$ git push -u origin awesomeFeature
					

Supprimer la branche locale


					$ git branch -d awesomeFeature
					

Supprimer la branche distante


					$ git push origin :awesomeFeature
					

Différents outils

Gérer ses dépôts

  • Github: Utilisation de git en ligne pour des projets OpenSources
  • GitLab: Comme Github mais permettant l'utilisation de dépôts privés gratuitement

GitKraken

Permet de gérer tous ses dépôts et fournit une interface claire pour gérer ses commits

git-prompt.sh

Script shell permettant d'afficher le nom de la branche courante dans son prompt