slam5:collaboration:git

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
slam5:collaboration:git [2015/09/17 02:00] – [8- Conflits] jcheronslam5:collaboration:git [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1
Ligne 3: Ligne 3:
 Git est un logiciel de gestion de versions (versionning), créé par Linus TORVALDS en 2005, initialement prévu pour le développement du noyau Linux. Git est un logiciel de gestion de versions (versionning), créé par Linus TORVALDS en 2005, initialement prévu pour le développement du noyau Linux.
  
-Lancé en 2008, [[http://github.com|GitHub]] est un service web d'hébergement et de gestion de développement de logiciels.+Lancé en 2008, [[http://github.com|GitHub]] est un service web d'hébergement et de gestion de développement de logiciels, utilisant git.
  
-===== -- Repo/Repository =====+Pour résumer : [[https://raspbian-france.fr/cours/slides-git.html#/|Diaporama Git]] 
 + 
 +===== - Repo/Repository =====
 Un repository est un dépôt où un projet est hébergé, permettant de stocker les différentes versions du code. Un repository est un dépôt où un projet est hébergé, permettant de stocker les différentes versions du code.
  
-===== -- Fork =====+===== - Fork =====
 {{:slam5:collaboration:fork.png?nolink|}} {{:slam5:collaboration:fork.png?nolink|}}
  
 Un "**fork**" est une copie d'un repository, permettant de travailler sur la copie qui devient un projet à part entière, au même titre que l'original. "Forker" un repository permet d'effectuer librement des changements sur 1 projet, sans affecter l'original. Un "**fork**" est une copie d'un repository, permettant de travailler sur la copie qui devient un projet à part entière, au même titre que l'original. "Forker" un repository permet d'effectuer librement des changements sur 1 projet, sans affecter l'original.
  
-La plupart du temps, les forks permettent d'effectuer et de proposer des changements à un projet original (dans ce cas il faudra faire un **pull request** pour solliciter une intégration des changements effectués), ou deviennent un nouveau point de départ pour un autre projet.+La plupart du temps, les forks permettent d'effectuer et de proposer des changements à un projet original (dans ce cas il faudra faire une **pull request** pour solliciter une intégration des changements effectués), ou deviennent un nouveau point de départ pour un autre projet.
  
  
-===== -- Clone =====+===== - Clone =====
  
 Le **clone** permet de créer une copie locale d'un projet forké ou créé, pour pouvoir ensuite travailler. Le **clone** permet de créer une copie locale d'un projet forké ou créé, pour pouvoir ensuite travailler.
Ligne 26: Ligne 28:
 voir http://git-scm.com/docs/git-clone voir http://git-scm.com/docs/git-clone
  
-===== -- Fetch =====+===== - Fetch =====
 Le fetch permet de mettre à jour sa copie locale du projet à partir de la version hébergée sur le serveur et potentiellement modifiée par les autres membres de l'équipe. Le fetch permet de mettre à jour sa copie locale du projet à partir de la version hébergée sur le serveur et potentiellement modifiée par les autres membres de l'équipe.
 Le fetch est indispensable avant tout travail, pour éviter les futurs conflits. Il permet d'intégrer les commits réalisés par les autres dans sa copie locale. Le fetch est indispensable avant tout travail, pour éviter les futurs conflits. Il permet d'intégrer les commits réalisés par les autres dans sa copie locale.
  
 <html><div class="note"> <html><div class="note">
-Chacun des membres d'une équipe étant succeptible d’apporter des modifications au projet il est indispensable que tout le monde dispose en permanence du code le plus récent et que tout le monde demande fréquemment au dépôt principal s’il y a des mises à jours : c'est le rôle du fetch+Chacun des membres d'une équipe étant susceptible d’apporter des modifications au projet il est indispensable que tout le monde dispose en permanence du code le plus récent et demande fréquemment au dépôt principal s’il y a des mises à jours : c'est le rôle du <b>fetch</b>.
 </div></html> </div></html>
  
Ligne 39: Ligne 41:
  
 voir http://git-scm.com/docs/git-fetch voir http://git-scm.com/docs/git-fetch
-===== -- Commit =====+===== - Commit =====
 Le **commit** permet de valider toutes les modifications effectuées sur un projet pour en créer une nouvelle version. Le **commit** permet de valider toutes les modifications effectuées sur un projet pour en créer une nouvelle version.
 <html><div class="note">Le <b>commit</b> doit être accompagné (c'est indispensable) d'un message, composé d'un titre et d'une description, qui apporte des précisions sur les modifications opérées. <html><div class="note">Le <b>commit</b> doit être accompagné (c'est indispensable) d'un message, composé d'un titre et d'une description, qui apporte des précisions sur les modifications opérées.
Ligne 67: Ligne 69:
 voir http://git-scm.com/docs/git-commit voir http://git-scm.com/docs/git-commit
  
-===== -- Branch =====+===== - Branch =====
  
 La branche par défaut d'un projet est la branche **master**, celle sur laquelle sont effectués les commits. La branche par défaut d'un projet est la branche **master**, celle sur laquelle sont effectués les commits.
Ligne 97: Ligne 99:
 voir http://git-scm.com/docs/git-merge voir http://git-scm.com/docs/git-merge
  
-===== -- Push =====+===== - Push =====
  
 Le commit permet de créer une nouvelle version, qu'il faut ensuite envoyer vers le repository pour la rendre accessible aux autres développeurs, en faisant un **push**, vers une branche du projet (master par défaut). Le commit permet de créer une nouvelle version, qu'il faut ensuite envoyer vers le repository pour la rendre accessible aux autres développeurs, en faisant un **push**, vers une branche du projet (master par défaut).
Ligne 107: Ligne 109:
  
  
-===== -- Conflits =====+===== - Conflits =====
  
 Identifier les conflits : Identifier les conflits :
Ligne 129: Ligne 131:
 voir http://git-scm.com/docs/git-add voir http://git-scm.com/docs/git-add
  
 +Effectuer le commit, puis le push.
  
-===== -- Ignorer certains fichiers ===== 
  
 +===== - .gitignore =====
  
-<pre>+Le fichier **.gitignore** permet de spécifier les fichiers, dossiers ou groupes de fichiers qui doivent être ignorés par git et non publiés (les fichiers de configuration, par exemple, qui peuvent contenir des infos sensibles, ou les fichiers spécifiques à la machine du développeur): 
 + 
 +==== Exemple de fichier .gitignore ==== 
 + 
 +<code>
 # Fichiers à ne pas synchroniser # Fichiers à ne pas synchroniser
  *.txt  *.txt
  !readme.txt  !readme.txt
  conf/  conf/
-</pre>+</code> 
 + 
 +==== Signification ==== 
 + 
 + 
 +Exclusion de : 
 +  * Tous les fichiers texte (*.txt) 
 +  * Sauf le fichier readme.txt 
 +  * et tout le dossier conf 
  
  • slam5/collaboration/git.1442448046.txt.gz
  • Dernière modification : il y a 6 ans
  • (modification externe)