Projet Pollen: Initiation à GIT

Catégorie: Web (Mis à jour le 18-01-2016 12:41:10)

Comprendre git

Git est un gestionnaire de version pour du code. Il stocke toutes les modifications faites au code pendant la durée de vie du projet.

Git permet de:

  • Faire des sauvegardes de travail
  • Travailler à plusieurs sans pertes de modifs
  • Revenir à d'anciennes versions
  • Rechercher des bugs à travers les versions

Git se présente sous forme de dépôts (repository). Chaque dépôt représente un projet.

Ils peuvent contenir une ou plusieurs branches. Par défaut seule la branche master est présente. Chaque branche représente le travail d'une personne sur une tache précise. Personnellement je préfixe mes branches avec mes initiales pour les retrouver plus facilement.

Ensuite viennent les commits. Une branche contient plusieurs commits. Chaque commit représente un travail réalisé.Le commit équivaux à une validation de travail, c'est a dire que tout travail non commité est considéré comme non existant pour git.

Git usage

Création:

  • Git init : nouveau dépôt vide en local

  • Git clone : nouveau dépôt depuis un dépôt distant

    git clone https://github.com/atrakeur/learngit.git

Qui êtes vous?

    git config --global user.name Jess iblélebug
    git config --global user.email jessiblé[email protected]

Usage courant:

Naviguer dans git:

  • Git branch : voir toutes les branches chargée en local

  • Git checkout : aller à une version particulière

    Git checkout abcd1234
    Git checkout mabranch

Préparer son commit:

  • Git add : ajoute les fichiers modifiés (pour le prochain commit)
    Git add -vA
    Git add lala.txt
    Git add . -R
  • Git rm : retire des fichiers modifiés (du prochain commit)
    Git rm . -R --cached
    Git rm . -R 
    Git rm . -R -v --dry-run

Créer son commit:

  • Git commit : création du commit à partir des fichiers précédemment ajoutés
    Git commit --amend
        Idem que commit sauf qu'on modifie le dernier commit fait plutot que d'en créer un nouveau

Vérifier son git:

  • Git status : affiche le statut du dépôt, s'il y a des commits pushés ou non, des fichiers modifiés/ajoutés/supprimés

    • Git diff : compare la version courante avec une autre version
    Git diff HEAD~1
    Git diff abcd123
  • Git log : affiche le log des commits

  • Git reflog : affiche le log de vos mouvements dans les branches (difficile celui la).

Synchronisation:

  • Git pull : tire les modifications distantes vers la copie locale
    Git pull origin master
    Git pull origin mabranch
  • Git push : pousse les modifications locale vers le distant
    Git push origin master
    Git push origin mabranch

Git practice

Quelques ressources pour apprendre par la pratique (-15min):

A lire aussi:

[PHP] [Laravel] Repository (Convertir Eloquent en stdClass)

[Web] L'application du RepositoryPattern implique de séparer les modèles Eloquent du controlleur via un Repository. Voici une alternative à toArray pour découpler vos controlleurs de vos objects modeles.
Suite...

Nodejs et la simplification de l'asynchrone

[Web] On entend souvent parler de nodejs comme une révolution sans le monde du temps réel. Voici une présentation de cet outil qui permet de réaliser simplement des applications performantes et asynchrones.
Suite...