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
fr:informatics:utilisez_git_pour_gerer_vos_versions [09/06/2024 11:22]
Keuronde
fr:informatics:utilisez_git_pour_gerer_vos_versions [09/06/2024 16:12] (Version actuelle)
Keuronde [Ressources externe]
Ligne 4: Ligne 4:
  
 Git est un système de gestion de versions. Il permet de sauvegarder et de récupérer une version passée d'un fichier ou d'un projet complet. Git permet également de partager une modification. Git est un système de gestion de versions. Il permet de sauvegarder et de récupérer une version passée d'un fichier ou d'un projet complet. Git permet également de partager une modification.
 +
 +Le but de ce document n'est pas d'être la bible de git. Elle existe déjà, [[https://git-scm.com/book/fr/v2|elle est là]]. Le but est d'être un point d'entrée rapide sur le sujet, permettant au lecteur de trouver les points qu'il souhaite approfondir.
  
 ==== La structure de git ==== ==== La structure de git ====
Ligne 9: Ligne 11:
 Git est organisé en dépôt. Chaque dépôt va contenir un projet avec son historique et les différentes évolutions en cours de développement. Git est organisé en dépôt. Chaque dépôt va contenir un projet avec son historique et les différentes évolutions en cours de développement.
  
-Lorsque vous avez un dépôt pour travailler sur votre ordinateur, vous avez de visible le //répertoire de travail//. Dans ce répertoire, se cache un sous-répertoire nommé //.git//. Le répertoire //.git// contient toutes les informations de votre projetstout ses fichiers et leur historique. Tant que vous ne détruisez pas - ou n’altérez pas - ce répertoire, vous pourrez récupérer votre projet. +Lorsque vous avez un dépôt pour travailler sur votre ordinateur, vous avez de visible le //répertoire de travail//. Dans ce répertoire, se cache un sous-répertoire nommé //.git//. Le répertoire //.git// contient toutes les informations de votre projettous ses fichiers et leur historique. Tant que vous ne détruisez pas - ou n’altérez pas - ce répertoire, vous pourrez récupérer votre projet. 
  
 Dans le répertoire de travail, chaque fichier peut avoir 3 états :   Dans le répertoire de travail, chaque fichier peut avoir 3 états :  
   * **Modifié** : Cette version du fichier n'existe que dans votre répertoire de travail.   * **Modifié** : Cette version du fichier n'existe que dans votre répertoire de travail.
   * **Indexé** : Le fichier a été ajouté à la zone d'index. Il est marqué pour faire partie de la prochaine version que vous créerez.   * **Indexé** : Le fichier a été ajouté à la zone d'index. Il est marqué pour faire partie de la prochaine version que vous créerez.
-  * **Validé** : La version de ce fichier fait parti de l'historique du projet.+  * **Validé** : La version de ce fichier fait partie de l'historique du projet.
  
-la fois pour sauvegarder son projet et pour travailler en équipe, il est courant d'avoir plusieurs dépôts d'un même projet. Un dépôt sera sur le PC de la personne qui travaille sur le projet, un second dépôt sur une _forge logicielle_ telle que :+À la fois pour sauvegarder son projet et pour travailler en équipe, il est courant d'avoir plusieurs dépôts d'un même projet. Un dépôt sera sur le PC de la personne qui travaille sur le projet, un second dépôt sur une _forge logicielle_ telle que :
 * Forjego  * Forjego 
 * Gitea * Gitea
Ligne 43: Ligne 45:
 ==== Créer un dépôt ==== ==== Créer un dépôt ====
  
-=== partir du répertoire d'un projet ===+=== À partir du répertoire d'un projet ===
    
  
 <code>git init</code> <code>git init</code>
  
-=== partir d'un dépôt existant ===+=== À partir d'un dépôt existant ===
  
 Pour cloner un dépôt : Pour cloner un dépôt :
Ligne 95: Ligne 97:
 L'utilisation d'une branche spécifique pour un développement se justifie lorsque ce développement est long et où le besoin de modifier le code "qui marche" peut se faire sentir avant que le développement soit terminé. L'utilisation d'une branche spécifique pour un développement se justifie lorsque ce développement est long et où le besoin de modifier le code "qui marche" peut se faire sentir avant que le développement soit terminé.
  
-//Dans le cadre de la coupe, vous développez une nouvelle stratégie, branche **strat-v2**. Vous n'êtes pas sûr que cette stratégie soit prête pour votre prochain match. Vous créé une branche pour votre nouvelle stratégie. En attendant, vous analysez votre précédent match et trouvez des corrections à apporter à la vieille stratégique. Vous pouvez éditer votre branche principale et continuer à travailler sur votre stratégie v2 en parallèle.//+//Dans le cadre de la coupe, vous développez une nouvelle stratégie, branche **strat-v2**. Vous n'êtes pas sûr que cette stratégie soit prête pour votre prochain match. Vous créez une branche pour votre nouvelle stratégie. En attendant, vous analysez votre précédent match et trouvez des corrections à apporter à la vieille stratégique. Vous pouvez éditer votre branche principale et continuer à travailler sur votre stratégie v2 en parallèle.//
  
 ==== Que suivre avec Git et que ne pas suivre avec Git ==== ==== Que suivre avec Git et que ne pas suivre avec Git ====
Ligne 104: Ligne 106:
 === A ne pas suivre avec Git === === A ne pas suivre avec Git ===
   * Les fichiers temporaires - tels que les sauvegardes automatiques de votre éditeur de texte   * Les fichiers temporaires - tels que les sauvegardes automatiques de votre éditeur de texte
-  * Les fichiers intermédiaire de compilation+  * Les fichiers intermédiaires de compilation
  
-Pour éviter que git vous signale encore et encore ces fichiers comme non-suivis, créez un fichier .gitignore dans lequel vous indiquerez la liste des fichiers et répertoires à ignorer. [[Plus d'information ici|https://git-scm.com/docs/gitignore/fr]].+Pour éviter que git vous signale encore et encore ces fichiers comme non-suivis, créez un fichier .gitignore dans lequel vous indiquerez la liste des fichiers et répertoires à ignorer. [[https://git-scm.com/docs/gitignore/fr|Plus d'information ici]].
  
 ==== Les bonnes pratiques ==== ==== Les bonnes pratiques ====
Ligne 113: Ligne 115:
  
   * Un commit toutes les deux heures - surtout la nuit   * Un commit toutes les deux heures - surtout la nuit
-  * Envoyer tous les jours le code sur un dépôt distants+  * Envoyer tous les jours le code sur un dépôt distant
   * Au moins deux branches sur le dépôt local : une avec le code qui marche, une sur laquelle vous travaillez   * Au moins deux branches sur le dépôt local : une avec le code qui marche, une sur laquelle vous travaillez
  
-Ressources externe +==== Ressources externe ==== 
-==================+ 
 + 
 +Si vous devez n'en retenir que trois, prenez celles-ci: 
  
   * [[https://git-scm.com/book/fr|La documentation dont cet article s'est inspiré]]   * [[https://git-scm.com/book/fr|La documentation dont cet article s'est inspiré]]
   * [[https://nvie.com/posts/a-successful-git-branching-model/|Utilisation des branches - en anglais]]   * [[https://nvie.com/posts/a-successful-git-branching-model/|Utilisation des branches - en anglais]]
 +  * [[https://training.github.com/downloads/fr/github-git-cheat-sheet.pdf|Aide-mémoire de Git/Github]]
  
 +Autres ressources :
   * [[https://vincentdubroeucq.com/apprendre-git-partie-1/|Vincent Dubroeucq - Les base]]   * [[https://vincentdubroeucq.com/apprendre-git-partie-1/|Vincent Dubroeucq - Les base]]
   * [[https://vincentdubroeucq.com/apprendre-git-partie-2-les-branches/|Vincent Dubroeucq - Les branches]]   * [[https://vincentdubroeucq.com/apprendre-git-partie-2-les-branches/|Vincent Dubroeucq - Les branches]]
   * [[https://vincentdubroeucq.com/apprendre-git-partie-3-travailler-avec-un-depot-distant/|Vincent Dubroeucq - dépôts distants]]   * [[https://vincentdubroeucq.com/apprendre-git-partie-3-travailler-avec-un-depot-distant/|Vincent Dubroeucq - dépôts distants]]
 +
 +Pour s'entraîner sans rien installer:
 +  * [[https://learngitbranching.js.org/?locale=fr_FR|Learn Git Branching - en français]]