Démarrer avec Git

19/12/19 danny

Git est un logiciel de gestion de versions ou VCS

Créé en 2005 c'est le VCS le plus populaire au monde.

Il va nous permettre de gèrer efficacement et facilement nos applications Angular.

Il va nous permettre de travailler en équipe.


Ce que nous allons faire

  • Avant de Commencer
    Qu'est ce que Git
     
  • La liste des commandes
    Liste arbitraire et non exhaustive des commandes.

Qu'est que Git ?

Git est un logiciel de gestion de versions.

En anglais on parlera de VCS (Version Control System)

Version control
Les synonymes sont 

  • revision control
  • source control

Un VCS permet de gérer les changements d'un document


Historique des VCS

Ci-dessous la liste des principaux Logiciels de gestion de version

  • CVS (sigle de Concurrent Versions System)
    19 Novembre 1990
     
  • Subversion (SVN)
    20 octobre 2000
     
  • Git
    7 Avril 2005
     
  • Mercurial
    19 Avril 2005

A quoi sert Git ?

Pour comprendre nous allons prendre l'exemple d'un programmeur.

Il décide de développer un logiciel ( ou software en anglais).
Le développeur s'appelle John Lennon
Son logiciel s'appelle help

Il démarre son projet en janvier.
Le schéma suivant nous donne une chronologie des évènements.
 

Un développeur pour une application

Pour l'instant tout est simple.
L'historique nous permet de voir les évolutions du logiciel.

Chaque modification à un moment précis correspond à une nouvelle version.
On parlera en fait de version ou révision.

Chaque revision est associée à un identifiant unique.
Donc dans notre exemple 4 modifications donneront 

  • 4 révisions
  • 0,1,2 et 3


Notre développeur rencontre du succès avec son logiciel.
Devant la charge de travail il décide de s'associer avec 3 autres développeurs.
Paul McCartney, George Harrison et Ringo Starr,


Travaillant actuellement sur la revision 3, c'est celle qu'il donnera à chacun de ces partenaires.

Imaginons l'historique pour le mois de Février.

4 développeurs pour une application

Un fait : chaque développeur travaille séparément et à des instants différents.
Un constat: difficile de savoir qui fait quoi et où on en est au niveau des versions.

Plus le temps passera, plus le nombre de développeurs augmentera et plus cela sera difficile à gèrer.
On imagine celui ou ceux qui seront chargés de le faire.

C'est là qu'intervient un logiciel de gestion de versions comme Git.
ainsi qu'un nouveau partenaire qui s'appelle GitHub

Voilà ce que cela peut donner en images.

Chaque développeur travaille toujours comme il le veut quand il veut.
Mais dans ce cas il communique en utilisant Git.

Celui avec qui il communique se nomme GitHub.
Git et Githud s'occupent de gèrer le logiciel et les différentes version.

Nous allons voir comment.


Liste des commandes


Liste des commandes essentielles

  • git init​ 
  • git clone​
  • git add​ 
  • git commit​ 
  • git branch​
  • git merge​
  • git rebase​ 
  • git log​ 
  • git push​
  • git pull​
  • git stash​