Prérequis
L’utilisation de Git & Github sur Windows suppose l’installation du logiciel Github Desktop. L’installation de Git sur sa machine peut être un plus si l’on a l’habitude d’utiliser Git en ligne de commande de manière similaire à Linux.
Support de présentation
Rediffusion de la formation
Guide de démarrage rapide (et incomplet !)
Ceci est une copie adaptée de la Formation Github réalisée pour Linux, après avoir appréhendé cette formation vous pouvez passer sur la deuxième partie de la formation faite pour Linux, plus complète.
Github, qu’est ce que c’est ?
Github est un service en ligne qui permet d’héberger ses repositories de code. Github est un outil gratuit pour héberger du code open source. Pour commencer à utiliser Github il faut créer son compte sur la page page d’acceuil, rentrer son nom d’utilisateur , un mot de passe etc. Une fois cela fait, il faut penser à communiquer son pseudo pour pouvoir accéder au dossier d’eirbot.
Récupérer du code d’un autre d’un autre repository
Dans un premier temps il faut s’identifier sur GithubDesktop File>Options>Accounts
Une fois le compte Github créé et relié avec GithubDesktop, du code d’un autre
repository peut être récupéré. Pour cela il faut cloner le répertoire,
il suffit de cliquer sur clone
sur Github et de copier le lien en https ou d’aller directement dans Github Desktop et ouvrir File>Clone repository
. (On
pourra modifier pour pouvoir utiliser le ssh plus tard).
Une fois dans le menu Clone repository
on choisit le dossier que l’on veux cloner ou on peut coller le lien pris sur Github. Il suffit ensuite d’appuyer sur Clone
pour récupérer une copie du repertoire.
Cela permet de créér une copie locale du dossier sur notre machine.
Envoyer du code sur Github
Maintenant qu’une copie locale du dossier existe sur la machine, le code (ou
n’importe quel fichier) peut être modifié de manière locale. Lorsque le travail
terminé il faut synchroniser les modifications effectuées sur le repository
local avec le repository distant. L’opération que nous allons décrire permet de valider un
ensemble de modifications dans le code pour créer une nouvelle révision, et est
communément appelé un commit
.
Nous pouvons à tout moment visualiser l’état des modifications que nous avons réalisé en local sur le dépot et qui ne sont pas communiquées à distance via l’interface de GithubDesktop
Une fois que nous connaissons l’état des fichiers il faut choisir ceux que l’on veut envoyer pour cela il suffit de cocher ou décocher la marque bleue.
Une fois que nous sommes sur de toutes les modifications à effectuer nous pouvons effectuer un commit
via le formulaire en bas à gauche
Attention ! Les commentaires des commits sont les premières choses que les collaborateurs vont voir, un commit comme ``pause dej’’ n’a aucun intérêt1, les collaborateurs ne peuvent pas comprendre ce que vous avez fait. Il est donc conseillé de commit fichier par fichier en expliquant correctement les modifications réalisées sur chaque fichier.
Il faut ensuite communiquer les modifications à distance pour cela on appuie sur Repository>Push
ou Ctrl + P
. Une fois push les modifications sont sur le site de Github.
Récupérer des modifications
Pour récupérer en local les dernières modifications du repository Github, il
faut utiliser la commande la commande pull utilisable soit via Repository>Pull
soit par Fetch Origin
(on privilégiera la première solution lorsqu’on travaille sur un dépôt avec des branches et que le concept de branche n’est pas maitrisé)
Gérer un conflit sur du code
Du fait de la présence de multiples dépôts dans lesquels le code peut être modifié, il est possible que la même branche master ait divergé entre deux dépôts (typiquement avec la même branche sur un dépôt distant, comme origin/master). Dans ce cas, une fusion/merge risque d’amener à un conflit. Il convient de ne surtout pas paniquer, cela fait partie des tracas standards du développement logiciel. Mettons que la dernière fusion/merge ait amené au résultat suivant :
-
Cela a plutôt tendance à énerver vos collègues et les conduire à détruire chaqu’un de vos commits (oui oui c’est possible) ↩︎