Git 2. Le travail avec les branches
Dans le domaine du développement de logiciels, les branches constituent un concept très utiles. Par exemple, elles permettent d’isoler nos différents travaux en cours afin qu’ils soient peaufinés au maximum avant de les inclure dans la partie du code considérée comme stable.
En fait, ne pas utiliser systématiquement les branches quand on programme avec l’aide d’un système de gestion de révision tel que Git, c’est se priver d’une bonne part de son utilité.
Par contre (comme certainement tout concept utile), les branches requièrent une sacrée dose d’efforts avant d’être maîtrisées par un apprenti développeur tel que moi ! ^_^ (source)
On commence à travailler seul avec les branches (source)
Voici donc une nouvelle routine qui inclue la notion de branches :
$ git status
#pour vérifier où le système en est dans l'indexation des fichiers (au cas où on en aurait oublié lors de la dernière session de travail).$ git branch (Nom_EXPLICITE_de_notre_nouvelle_branche)
$ gedit monfichier.txt
#c’est le travail proprement dit$ git diff
#pour vérifier si la modification effectuée correspond bien à ce qu’on a voulu faire, si on n’a pas introduit d’erreur par mégarde.- (facultatif)
$ git status
#pour constater que les fichiers modifiés ne sont pas encore indexés (en rouge). $ git add monfichier.txt
#pour indexer le ou les fichiers modifiés.- (facultatif)
$ git status
#pour constater que les fichiers modifiés sont désormais indexés (en vert). $ git commit
#pour terminer l’acte.- Et enfin, rédaction d’un petit texte explicatif dans un éditeur générer l'acte (=commit).
- (facultatif)
$ git log --oneline --graph --all
#Pour admirer fièrement l’inscription dans le journal correspondant à notre dernier acte.
Et, on retourne à l’étape 2 !
Et quand on est enfin satisfait de la suite de commits constituant notre nouvelle branche :
$ git merge --no-ff master Nom_EXPLICITE_de_notre_nouvelle_branche)
#pour fusionner le travail de notre branche dans la branche stable, nommée master par défaut.$ git branch -d (Nom_EXPLICITE_de_notre_nouvelle_branche)
#pour supprimer le marqueur de notre branche désormais superflu.
On s’améliore la visualisation de l’historique avec les branches (source)
$ git log --oneline --graph --all --merges
$ git log --oneline --graph --all --merges --parents (numcommit)...(numcommit)
On travaille avec les branches sur le serveur
Pousser une branche sur serveur puis plus tard la supprimer
$ git push (serveur distant) (branche)
$ git push (serveur distant) --delete (branchedistante)
Avec (serveur distant) = origin par défaut