Français GIT (Github / GitLab)

  • Auteur de la discussion Auteur de la discussion Vincentimetr
  • Date de début Date de début

Vincentimetr

TP-Shop Team
Membre du personnel
Developer
29/12/19
32
4
5
300
Paris
1 - Introduction
Avoir son projet sur git est un excellent moyen pour coder en étant plusieurs.
Beaucoup ont ce besoin mais peu osent se lancer car la mise en place a l'air compliqué. Pourtant le fonctionnement est simple a prendre en main lorsqu'il est bien expliqué.

Nous allons voir comment faire dans ce tutoriel en nous appuyant sur la vidéo suivante:

Je vous recommande de la regarder avant de lire ce tutoriel.

2 - Installation
- Linux
Sous linux vous pouvez installer github avec la commande suivante:
Code:
Développer Réduire Copier
sudo apt-get install git
Pour verifier si vous avez git, il suffit de taper:
Code:
Développer Réduire Copier
git --version
- Windows
  • (Optionel) Installer Python 3.7 en selectionnant les options suivantes:
1562617006612-bec41cf5-fe92-4ba5-a2e1-d0c763d05639-image.png
Ce n'est pas utile pour la suite de ce tutoriel mais python et pip sont à la base de beaucoup d'installations de prérequis sur l'installation de projets sur git.
Git bash est la console GIT sur windows, c est sur elle qu'est basé ce tutoriel.


Lors de l'apprentissage de GIT, il est fortement déconseillé d'utiliser un GUI, les débutant faisant cela détruisent systématiquement le travail des autres sans comprendre ce qu'ils font.

3 - First Time Setup
Vous devez lier votre compte logiciel avec votre compte git:
- Identifiants
Code:
Développer Réduire Copier
git config --global user.name "Vincentimetr"
git config --global user.email "vincent.benet@outlook.fr"
- Mots de passe
Lors de votre première commande demandant des accès, votre username et votre mot de passe vont vous être demandé. Vous pouvez stocker ces informations:
  • Sur Windows ce login sera stocké dans votre Gestionnaire d'identification:
1562619199399-93f89d5f-897c-48c3-a8a3-0af7f80f89ec-image.png
  • Sur linux la commande pour autoriser le stockage des mots de passe est la suivante:
Code:
Développer Réduire Copier
git config credential.helper 'store

- Clef SSH
Afin de lier votre PC avec le git, il peut vous être demandé une clée SSH
Sur windows ouvrez git GUI > Help > Show SSH Key > copy to ClipBoard > coller dans l'endroit indiqué par votre panel web git:
1562617717525-d64db16e-eea5-4d48-9c67-e2698b8332bd-image.png
4 - Stockage
- Fonctionnement
Il faut voir le système git comme un gestionnaire de changements, Il va simplement venir scanner les fichiers de votre ordinateur et placer ces changements dans le Working Directory, vous pouvez add ces changements dans le Staging Area, les changements peuvent êtres commit pour les enregistrer localement dans le .git Directory. Il est alors possible de les push dans le Online Directory.
- Schéma
1562623687740-260372e5-1d72-4b50-98d8-2346a16c57a1-image.png

5 - Commandes classiques
- Fonctionnement
Les commandes suivante permettent de déplacer vos modifications dans les différents endroit de stockage du système GIT.
- Schéma
1562624080706-ae32928f-3df1-400b-aa33-5303ede3c243-image.png
- Commandes
Code:
Développer Réduire Copier
git clone  URL  # Telechargement
git pull  # Update
git add -A  # Ajout des fichiers au stagging Area
git commit -m "text"  # Enregistrement des changements en Staging Area
git commit * -m "text"  # Enregistrement des changements en Working Directory
git push  # Envoi des changements enregistrés vers le Online Directory

6 - Commandes de retour arrière
- Fonctionnement
Il est parfois nécessaire de parcourir le schéma dans le sens inverse, dans ce cas, voiçi les commandes et leurs comportements associés.
- Schéma
1562624512029-71ac70e9-9ee6-4276-968c-1db33e78b611-image.png
- Commandes
Code:
Développer Réduire Copier
git reset  # Envoi les changements du stagged changes vers le répertoire local
git reset HEAD~   # Envoi les changements des commits vers le répertoire local
git revert ID  # Revert le commit correspondant à L'ID
git stash # Revert le repertoire local à la version remote (très utile!)

7 - Commandes d'affichage
- Fonctionnement
Afin de comprendre ce qu'il se passe quand plus rien ne marche, il est bon de pouvoir afficher le contenu des différents répertoires de stockage.
- Schéma
1562625135024-b9750b8d-c4c7-4784-9967-45999a9bd9de-image.png
- Commandes
Code:
Développer Réduire Copier
git log  # Affiche l'historique des commits avec leurs ID
git status  # Affiche le contenu du Working Directory et du Staging Area


8 - Branches
- Fonctionnement
Les branches permettent de faire du DEV à plusieurs en même temps sur le même projet. Elles sont au cœur du fonctionnement de GIT. La branche master est la branche initiale (souvent l'application du projet tourne dessus). Il n'est pas recommander de push des informations dessus, la branche master doit être merge avec une branche dev. Il est donc conseillé de travailler sur des branches nominatives par devellopeurs du projet ou par projets d'amélioration. Un fois fini, les changements sont push sur la branche dev. Lorsque les changements sont testés, la branche master est merge avec la branche DEV.
- Schéma
1563819202472-bcfeb819-fb58-41b3-a58e-4931628de73e-image.png
- Commandes
Code:
Développer Réduire Copier
git branch "branche"  # Créer une branche
git checkout "branche"  # Se connecte à une branche
git branch -a  # Affiche les branches locales et remotes
git merge "branche"  # Fusionne la branche désignée avec la branche actuelle

9 - Les conflits
- Fonctionnement
Lorsque deux personnes modifie les mêmes lignes d'un même fichier, il se créer un conflit au moment de push ou merge. Il est alors essentiel de regarder attentivement ces conflits avec les commits concernées et de choisir les modifications à jeter et à garder en ouvrant directement les fichiers
- Commandes
Code:
Développer Réduire Copier
git add .
git commit -m "fix conflict"
git push
 
Dernière édition:
Activité
Pour l'instant, il n'y a personne ici