Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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 01:51] – jcheron | slam5: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), | Git est un logiciel de gestion de versions (versionning), | ||
| - | Lancé en 2008, [[http:// | + | Lancé en 2008, [[http:// |
| - | ===== -- Repo/ | + | Pour résumer : [[https:// |
| + | |||
| + | ===== - Repo/ | ||
| 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 ===== |
| {{: | {{: | ||
| Un " | Un " | ||
| - | La plupart du temps, les forks permettent d' | + | La plupart du temps, les forks permettent d' |
| - | ===== -- 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:// | voir http:// | ||
| - | ===== -- 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' | 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' | ||
| Le fetch est indispensable avant tout travail, pour éviter les futurs conflits. Il permet d' | Le fetch est indispensable avant tout travail, pour éviter les futurs conflits. Il permet d' | ||
| < | < | ||
| - | Chacun des membres d'une équipe étant | + | Chacun des membres d'une équipe étant |
| </ | </ | ||
| Ligne 39: | Ligne 41: | ||
| voir http:// | voir http:// | ||
| - | ===== -- 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. | ||
| < | < | ||
| Ligne 67: | Ligne 69: | ||
| voir http:// | voir http:// | ||
| - | ===== -- 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:// | voir http:// | ||
| - | ===== -- 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, | 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, | ||
| Ligne 107: | Ligne 109: | ||
| - | ===== -- Conflits ===== | + | ===== - Conflits ===== |
| + | |||
| + | Identifier les conflits : | ||
| + | |||
| + | <sxh bash; | ||
| + | git status | ||
| + | </ | ||
| + | |||
| + | voir http:// | ||
| + | |||
| + | Les éventuels fichiers en conflit apparaissent comme **unmerged** | ||
| + | |||
| + | |||
| + | Editez les fichiers en conflit, et effectuez les modifications nécessaires | ||
| + | |||
| + | Valider ensuite les modifications : | ||
| + | <sxh bash; | ||
| + | git add fileName | ||
| + | </ | ||
| + | |||
| + | voir http:// | ||
| + | |||
| + | Effectuer le commit, puis le push. | ||
| + | |||
| + | |||
| + | ===== - .gitignore ===== | ||
| + | |||
| + | 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, | ||
| + | |||
| + | ==== Exemple de fichier .gitignore ==== | ||
| + | |||
| + | < | ||
| + | # Fichiers à ne pas synchroniser | ||
| + | | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | ==== Signification | ||
| + | Exclusion de : | ||
| + | * Tous les fichiers texte (*.txt) | ||
| + | * Sauf le fichier readme.txt | ||
| + | * et tout le dossier conf | ||