125 votes

git - conflit de fusion lorsque local est supprimé mais que le fichier existe à distance

Je suis très nouveau pour git et je me suis demandé comment procéder pour une fusion. Dans le référentiel local, j'ai supprimé plusieurs fichiers de la branche maître, mais ces fichiers existent dans la branche principale distante.

Après avoir fait git-merge, il montre les conflits qui se sont produits.

Utiliser git gui montre que le fichier local est supprimé, alors que le fichier de branche distante a un contenu.

Comment empêchez-vous ces fichiers d'être en conflit? Existe-t-il un moyen simple d'utiliser git gui?

Merci beaucoup

164voto

Jefromi Points 127932

Vous devriez résoudre les conflits comme bon vous semble. Si le fichier est vraiment censé être supprimé et que vous publiez ce changement à l'origine, supprimez-le à nouveau:

 git rm path/to/file
 

Si le fichier doit encore être suivi, ajoutez-le (la version dans l'arbre de travail sera la version d'origine):

 git add path/to/file
 

Après avoir effectué l'une des opérations pour résoudre le conflit, validez la fusion.

9voto

Joel Freeman Points 51

Dans l'interface graphique de Git, vous sélectionnez le fichier en conflit, puis cliquez avec le bouton droit de la souris sur la zone de texte principale dans laquelle le texte en conflit est affiché.

Dans le menu contextuel qui apparaît, vous pouvez choisir d'aller avec "Remote" ou avec "Local". Ainsi, si un fichier est supprimé à distance, vous pouvez choisir "Distant" pour propager la suppression localement, et inversement.

Il m'a fallu un mois pour comprendre ... ce serait bien si l'interface graphique de Git avait réellement de la documentation ...

0voto

borjab Points 1839

Dans EGit, j'ai aussi rencontré des problèmes. Ma solution était:

  • Utilisé la vue Git Staging.
  • Double-cliquez sur chaque fichier figurant dans les modifications non mises en scène pour ouvrir le comparateur
  • Cliquez sur l'icône "Tout copier de gauche à droite"
  • Enregistrer le fichier (il disparaîtra de la liste non mise en scène)

-6voto

Martin Algesten Points 5915

Si vous supprimez les fichiers localement, vous transmettez simplement vos modifications à distance pour les supprimer également.

Pourquoi vous fusionnez?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X