web-dev-qa-db-fra.com

git - confusion sur la terminologie, "la leur" contre "la mienne"

Je suis complètement confus sur ce que signifie le mien contre le leur. Dans ce cas précis, j'ai une branche de fonctionnalité où je viens d'écraser environ 80 commits via rebase -i et je fusionne cela dans develop. J'ai eu quelques conflits et je veux juste utiliser le code sur ma branche de fonctionnalité. J'ai essayé "le mien" mais cela a semblé faire le contraire.

Quelqu'un pourrait-il éclairer cette terminologie?

24
CaptSaltyJack

ours et theirs est un concept quelque peu déroutant; exacerbé lors de l'exécution d'un rebasage:

Lorsque vous effectuez une fusion, ours fait référence à la branche que vous fusionnez en, et theirs fait référence à la branche que vous fusionnez de . Donc, si vous essayez de résoudre des conflits au milieu d'un fusion:

  • utilisez ours pour accepter les modifications de la branche sur laquelle nous sommes actuellement
  • utilisez theirs pour accepter les modifications de la branche dans laquelle nous fusionnons.

C'est logique, non?

Lorsque rebasage, ours et theirs sont inversés. Rebase les fichiers de sélection dans une branche "détachée" HEAD. La cible est cette HEAD, et merge-from est la branche d'origine avant rebase. Qui fait:

  • --ours l'anonyme que le rebase construit, et
  • --theirs celui qui est rebasé;

C'est-à-dire que le rebasage rejoue les commits de la branche actuelle (un à la fois) au-dessus de la branche avec laquelle nous avons l'intention de rebaser.

44
Keith

"La nôtre" (et "la mienne") fait référence à la branche actuelle; "leur" fait référence à la branche qui est fusionnée. Il semble que vous vouliez réellement utiliser "la leur".

19
mipadi