Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
logiciels:git [2017/07/15 07:12]
pfagan ↷ Page déplacée de outils:vcs:git à logiciels:git
logiciels:git [2019/10/26 21:08] (Version actuelle)
Ligne 1: Ligne 1:
 ====== Git ====== ====== Git ======
  
-Les dépôts sont des grains GitLab sur le Sandcats du club+FIXME //Work in progress...//
  
-===== Comment avoir accès ​en lecture/​écriture aux dépôts =====+Tout le monde a au moins une fois travaillé sur un projet de groupe ​en travaillant sur différents documents. Même si aujourd'​hui on peut travailler tous ensemble sur des documents en ligne, parfois on fait face à des problèmes du type: "Où sont passées mes modifications?",​ "Qui a écrit cette partie?",​ "​Quelle est la version la plus récente de ce document?",​ ... Les logiciels de gestion de version permettent de résoudre tous ces problèmes. A chaque fois que des documents sont modifiés, ces logiciels enregistrent la nouvelle et l'​ancienne version, ainsi que des données par rapport à cette modification (auteurs, date et heure, commentaires,​ ...). Cela les rend indispensables pour chaque projet, ce qui en fait des outils indispensables au ClubElek. On va parler de Git, un logiciel libre qui est de plus en plus utilisé.
  
-Il faut tout d'​abord installer un client Git+==== Panoramique ====
  
-==== Linux ====+Git est un logiciel de gestion de version open-source et décentralisé (c'​est-à-dire que l'​utilisateur n'est pas forcé de se connecter à un serveur pour travailler sur le code source). De plus, il possède plusieurs avantages par rapport à d'​autres logiciels comme Subversion:​ 
 +  * comme déjà dit, Git est décentralisé:​ une fois téléchargé les documents à modifier, on peut y travailler partout et envoyer ses fichiers quand on le retient opportun, alors que dans un logiciel centralisé il faut être toujours connecté au dépôt pour travailler sur le code. Avec Git, on télécharge tout le projet en local, sans avoir besoin d'​aller sur le dépôt central 
 +  * Git est un logiciel rapide et performant (surtout si on veut créer une nouvelle branche du projet, voir les détails plus loin) 
 +  * il y a de nombreux sites qui hébergent des projets versionnés avec Git comme [[https://​github.com/​ | GitHub]] ou [[https://​about.gitlab.com/​ | GitLab]], où on peut travailler sur des projets publics ou partager les vôtres (que ce soit avec tout le monde ou seulement avec votre équipe) 
 +  * j'ai déjà dit qu'il est open-source? ​
  
-  * Installer ​le paquet ​''​git-core''​ ou ''​git'' ​de votre distributionainsi que le paquet ''​openssh-client'​'.+Bien sûr, Git a aussi des défauts, comme sa complexité (due au fait que le système est décentralisé) ou (pour certains) le fait de devoir travailler sur la console (les programmes avec interface graphique n'offrent pas tous les commandes, mais ils suffisent pour une utilisation "pas trop avancée"​). On va essayer ici de lister les commandes de base, en sachant qu'il y a beaucoup de sites Web pour aller plus loin (comme [[https://git-scm.com/​book/​fr/​v2 | le guide officiel ​de Git]]). Si vous souhaitez apprendre à utiliser Git rapidementvoici [[https://​try.github.io/​ | un site ]]où l'on peut tester les commandes proposées en ligne.
  
-==== Windows ​====+==== Installation ​====
  
-  * Télécharger ​Git sur le site officiel : [[http://​git-scm.com/​downloads]] +Git étant un programme, il faut naturellement ​le télécharger et l'​installer.
-  * Installer en laissant les options par défaut.+
  
-==== Mac OS X ====+=== Linux ===
  
-FIXME+Git devrait être déjà présent dans votre ordinateur, sinon installez les paquets ''​git-core''​ ou ''​git''​ et ''​openssh-client''​ (pour l'​authentification via SSH, voir plus loin). Ou bien vous pouvez passer par le site officiel: ​ [[http://​git-scm.com/​downloads]]. 
 + 
 +=== Windows === 
 + 
 +  * Téléchargez Git sur le site officiel : [[http://​git-scm.com/​downloads]] 
 +  * Installez en laissant les options par défaut. 
 + 
 +=== Mac OS X === 
 + 
 +FIXME //La procédure devrait être semblable à celle de Linux, mais on doit vérifier.//​ 
 + 
 +Vous pouvez passer par le site officiel. 
 + 
 +==== Commandes de base ==== 
 + 
 +=== git init === 
 +Pour commencer à utiliser Git, il faut initialiser un dossier pour le rendre un dépôt ​ Git. Pour cela, il faut entrer dans le dit dossier et taper cette commande, qui va créer un dossier .git (caché sous Linux) et va vous permettre de versionner vos fichiers. 
 + 
 +=== git status === 
 +Cette commande permet de contrôler si les fichiers ont été modifiés depuis les dernières modifications. On peut avoir les cas suivants: 
 +  * le fichier n'est pas suivi (c'​est-à-dire que Git n'​enregistre pas ses changements),​ il est alors un **untracked file** 
 +  * le fichier est suivi et il a des modifications à enregistrer (fichier créé, modifié, ...). Si vous les avez ajoutés à la liste des modifications à enregistrer (voir **git add**), il sera dans la section **changes to be committed**,​ sinon il sera dans **changes not staged for commit**. 
 +  * le fichier est suivi, mais il n'a pas été modifié. Il n'​apparaîtra donc pas ici. 
 + 
 +=== git add === 
 + 
 +Cette commande ajoute les fichiers modifiés dans la liste des modifications à valider (voir **git commit**).  
 + 
 +=== git commit === 
 + 
 +Cette commande enregistre les modifications effectuées aux fichiers choisis. Il faut aussi écrire un message pour résumer les modifications,​ sinon la sauvegarde ne se fera pas. 
 + 
 +Une petite image pour résumer ces commandes:​ 
 + 
 +{{ :​logiciels:​git:​file_lifecycle.jpg | Cycle de vie d'un fichier avec Git}} 
 + 
 +=== git checkout === 
 + 
 +=== git rm === 
 + 
 +=== git branch === 
 + 
 +=== git pull === 
 + 
 +=== git push === 
 + 
 +---- 
 + 
 + 
 +Les dépôts sont des grains GitLab sur le Sandcats du club. 
  
 ===== Comment cloner un dépôt ===== ===== Comment cloner un dépôt =====