Qui est «nous» et qui est «eux» selon Git?

157

Après un rebase Git, et dans d'autres circonstances, vous pouvez trouver certains fichiers marqués comme supprimés par nous dans le git statusrapport. Qui sommes - nous selon Git et pourquoi?

Cela fait-il référence à moi assis sur cette branche et que cela fonctionne pour moi? Ou fait-il référence à lui-même et aux gens qui travaillent sur la branche contre laquelle je me rebase?

Danza
la source
5
Curieusement, il semble que «supprimé par eux» signifie que vous avez supprimé le fichier sur la branche que vous rebasez, tandis que «supprimé par nous» signifie que les autres l'ont supprimé. git mergedonne le message opposé.
Fred Foo
Possible duplication de git rebase, gardant une trace de 'local' et 'remote'
sampablokuper

Réponses:

173

Lorsque vous fusionnez , usfait référence à la branche dans laquelle vous fusionnez, par opposition à themla branche à fusionner.

Lorsque vous rebasez , usfait référence à la branche en amont, etthem correspond à la branche dans laquelle vous vous déplacez. C'est un peu contre-intuitif en cas de rebase.

La raison en est que Git utilise le même moteur de fusion pour le rebase, et il sélectionne en fait vos données dans la branche amont. us= dans, them= à partir de.

SzG
la source
54
Cela a du sens du point de vue de l' implémentation , car le rebase utilise la machinerie de fusion, la branche "nôtre" étant la branche amont et la branche "leur" étant celle qui est rebasée. Mais je suis d'accord que, eh bien, «extrêmement inutile» semble être une manière polie de le dire. Je préfère de loin que les branches soient étiquetées par d'autres mots que "nous / les nôtres" et "eux / les leurs", peut-être par le nom de la branche par exemple: "supprimé dans le maître, modifié dans la fonction".
torek le
3
J'ai toujours tendance à confondre --theirsavec --ourslors de la vérification lors d'un rebase, c'est tellement contre-intuitif. J'espère qu'ils régleront ce problème un jour.
iosdude
Qu'en est-il lorsqu'une seule branche est impliquée, par exemple lors d'une commande ou d'un écrasement de commits pendant un rebase?
Justin Johnson
us: la nouvelle branche réécrite (en) them,: la branche d'origine (de).
SzG
13
Il peut être utile de penser simplement usà un mnémonique pour "[u] p [s] tream" au lieu du mot anglais normal "us".
kojiro