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
- LinuxSous linux vous pouvez installer github avec la commande suivante:
Code:
sudo apt-get install git
Code:
git --version
- (Optionel) Installer Python 3.7 en selectionnant les options suivantes:
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.
- Installer git bash
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:3 - First Time Setup
- Identifiants
Code:
git config --global user.name "Vincentimetr"
git config --global user.email "vincent.benet@outlook.fr"
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:
- Sur linux la commande pour autoriser le stockage des mots de passe est la suivante:
Code:
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:
- 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
- Fonctionnement
Les commandes suivante permettent de déplacer vos modifications dans les différents endroit de stockage du système GIT.
- Schéma
- Commandes
Code:
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
- FonctionnementIl 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
- Commandes
Code:
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
- FonctionnementAfin 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
- Commandes
Code:
git log # Affiche l'historique des commits avec leurs ID
git status # Affiche le contenu du Working Directory et du Staging Area
8 - Branches
- FonctionnementLes 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
- Commandes
Code:
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
- FonctionnementLorsque 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:
git add .
git commit -m "fix conflict"
git push
Dernière édition: