Outils pour utilisateurs

Outils du site


issue84:c_c

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édentesRévision précédente
Prochaine révision
Révision précédente
issue84:c_c [2014/09/26 18:58] – [1] auntieeissue84:c_c [2014/09/26 19:16] (Version actuelle) – [3] auntiee
Ligne 57: Ligne 57:
 Une fusion (merge) Une fusion (merge)
  
-Une fois que vous avez validé les modifications dans votre dépôt distant et que vous croyez que cela aiderait le projet d'origine, vous pouvez envoyer une demande de fusion pour cette validation (ou série de validations). Cela envoie alors une notification au propriétaire du dépôt d'origine, qui comprend des informations sur la propagation, affiche une comparaison de l'avant et après, et indique les conflits (si, par exemple, vous avez déjà changé légèrement une ligne de code et que le patch ne peut donc plus la « trouver »). Dites que vous écrivez un patch pour le navigateur web qui permet aux utilisateurs de définir leurs propres CSS (feuilles de style en cascade), afin de donner un style à leur navigateur et aux pages Web selon leurs propres spécifications. Pour ce faire, vous avez modifié une boucle for qui scrute tous les fichiers dans des dossiers appelés « config » et « données », pour inclure le dossier « styles ». Mais en amont (le projet initialchangé le nom du dossier de config pour « conf ». Cela signifie que la boucle semble différente de celle attendue pour la demande de fusion, ce qui soulève un conflit avec le développement d'origine. Ils peuvent alors choisir de le résoudre ou de l'ignorer.+Une fois que vous avez validé les modifications dans votre dépôt distant et que vous croyez que cela aiderait le projet d'origine, vous pouvez envoyer une demande de fusion pour cette validation (ou série de validations). Cela envoie alors une notification au propriétaire du dépôt d'origine, qui comprend des informations sur la validation, affiche une comparaison de l'avant et après, et indique les conflits (si, par exemple, vous avez déjà changé légèrement une ligne de code et que le patch ne peut donc plus la « trouver »). Supposons que vous écrivez un patch pour le navigateur web qui permet aux utilisateurs de définir leurs propres CSS (feuilles de style en cascade), afin de donner un style à leur navigateur et aux pages Web selon leurs propres spécifications. Pour ce faire, vous avez modifié une boucle « for » qui scrute tous les fichiers dans des dossiers appelés « config » et « données », pour inclure le dossier « styles ». Mais le projet initial en amont remplacé le nom du dossier config par « conf ». Cela signifie que la boucle semble différente de ce qui était attendu par la demande de fusion, ce qui crée un conflit avec le développeur d'origine. Ils peuvent alors choisir de le résoudre ou de l'ignorer.
  
 ** **
Ligne 80: Ligne 80:
 Résolution des conflits Résolution des conflits
  
-Si vous rencontrez des conflits avec les fusions (deux personnes modifient le même fichier, ou une personne l'édite et une autre le supprime), vous aurez généralement besoin de les résoudre manuellement.  Pour le faire, vous devez exécuter :+Si vous rencontrez des conflits avec les fusions (deux personnes modifient le même fichier, ou une personne l'édite et une autre le supprime), vous aurez généralement besoin de les résoudre manuellement. Pour le faire, vous devez exécuter :
  
 git status git status
  
-Cela vous donnera des informations sur les fichiers en conflit et vous donnera les instructions pour indiquer quand vous avez résolu le conflit.+Cela vous donnera des informations sur les fichiers en conflit ainsi que des instructions pour indiquer quand vous aurez résolu le conflit.
  
 Examiner en détail le conflit est aussi simple que d'ouvrir le fichier après l'échec de la fusion, le fichier doit contenir un bloc qui ressemble à quelque chose comme : Examiner en détail le conflit est aussi simple que d'ouvrir le fichier après l'échec de la fusion, le fichier doit contenir un bloc qui ressemble à quelque chose comme :
Ligne 107: Ligne 107:
 ** **
  
-La série de caractères « inférieur à » et « supérieur à » marque la zone du conflitet la ligne de caractères « égal » sépare les deux modifications différentes. Branch-a réfère à dans quelle branche ce conflit se produit. Pour résoudre ce problème, il suffit de supprimer les marqueurs de conflit (inférieur à, supérieur à, et égal), et supprimer soit votre modification soit la modification de l'autre personne, ou de remplacer l'ensemble du conflit par une nouvelle édition (c'est-à-dire quelque chose qui contient à la fois les deux modifications). Une fois les marqueurs disparus, vous pouvez aller l'ajouter à la liste des validationset le pousser vers le dépôt distant.+La série de caractères « inférieur à » et « supérieur à » marque la zone du conflit et la ligne de caractères « égal » sépare les deux modifications différentes. Branch-a indique la branche dans laquelle ce conflit se produit. Pour résoudre ce problème, il suffit de supprimer les marqueurs de conflit (inférieur à, supérieur à, et égal), et de supprimer aussi soit votre modification soit la modification de l'autre personne, ou de remplacer l'ensemble du conflit par une nouvelle édition (c'est-à-dire quelque chose qui contient à la fois les deux modifications). Une fois les marqueurs disparus, vous pouvez aller l'ajouter à la liste des validations et le « pousser » vers le dépôt distant.
  
-Dans le cas d'un conflit causé par quelqu'un ayant supprimé un fichier, vous pouvez le résoudre de l'une des deux manières suivantes : +Dans le cas d'un conflit causé par la suppression d'un fichier, vous pouvez le résoudre de l'une des deux manières suivantes : 
- • Ajouter le fichier à nouveau, puis valider (ce qui annule essentiellement la validation où il a été supprimé).+ • Ajouter le fichier à nouveau, puis valider (ce qui annule la validation où il a été supprimé).
  • Supprimer le fichier avec git rm, puis valider à nouveau le changement.  • Supprimer le fichier avec git rm, puis valider à nouveau le changement.
  
Ligne 116: Ligne 116:
 Qu'est-ce qu'un téléchargement (pull) ? Qu'est-ce qu'un téléchargement (pull) ?
  
-Un téléchargement est une combinaison de git-fetch et git-merge. Fetch (aller chercher) demande essentiellement les changements dans le dépôt et télécharge les validations en local. Merge tente ensuite d'intégrer les nouvelles informations dans votre copie existante du dépôt. Au lieu d'avoir à faire ces choses une par une, Git propose à la place la commande de téléchargement pull, qui tente automatiquement de fusionner tout ce qu'elle va aller chercher.+Un téléchargement est une combinaison de git-fetch et git-merge. Fetch (aller chercher) demande essentiellement les changements dans le dépôt et télécharge les validations en local. Merge tente ensuite d'intégrer les nouvelles informations dans votre copie existante du dépôt. Au lieu d'avoir à faire ces choses une à une, Git propose à la place la commande de téléchargement pull, qui tente automatiquement de fusionner tout ce qu'elle va aller chercher.
  
 ** **
Ligne 137: Ligne 137:
 Quoi, aucun code ?! Quoi, aucun code ?!
  
-Ce mois-ci, j'ai décidé de me concentrer sur l'explication de la terminologie et d'illustrer certains aspects de Git. Le mois prochain, je vous amènerai à travers une série d'exemples de paramétrage d'un dépôt git, de clonage, de modification des branches, de création d'une validation et de résolution d'un conflit. Pour ceux qui ne veulent pas attendre un mois, il y a des liens vers des informations dans la section de lecture ci-dessous+Ce mois-ci, j'ai décidé de me concentrer sur l'explication de la terminologie et d'illustrer certains aspects de Git. Le mois prochain, je vous détaillerai une série d'exemples de paramétrage d'un dépôt git, de clonage, de modification des branches, de création d'une validation et de résolution d'un conflit. Pour ceux qui ne veulent pas attendre un mois, il y a des liens vers des informations dans la section Pour aller plus loin, ci-dessous.
- +
-Espérons que cet article a contribué à éclairer un peu la terminologie de Git. Si vous avez des questions, des commentaires, des recommandations ou suggestions, contactez moi à lswest34+fcm@gmail.com, vous êtes les bienvenus.+
  
 +Espérons que cet article a contribué à éclairer un peu la terminologie de Git. Si vous avez des questions, des commentaires, des recommandations ou suggestions, n'hésitez pas à me contacter à lswest34+fcm@gmail.com.
  
 Pour aller plus loin Pour aller plus loin
Ligne 146: Ligne 145:
 http://git-scm.com/doc – Documentation Git. http://git-scm.com/doc – Documentation Git.
  
-http://githowto.com/ - Site Web de manuels de Git.+http://githowto.com/ - Site Web de tutoriels de Git.
  
 https://help.github.com/ - Github offre des explications bien écrites pour les usages typiques de Git et explique tout aussi bien les fonctionnalités propres à Github. https://help.github.com/ - Github offre des explications bien écrites pour les usages typiques de Git et explique tout aussi bien les fonctionnalités propres à Github.
  
  
issue84/c_c.1411750716.txt.gz · Dernière modification : 2014/09/26 18:58 de auntiee