¿Quién es "nosotros" y quién es "ellos" según Git?

157

Después de una nueva versión de Git, y en otras circunstancias, puede encontrar algunos archivos marcados como eliminados por nosotros en el git statusinforme. ¿Quiénes somos según Git y por qué?

¿Se refiere a mí sentado en esta rama y funciona para mí? ¿O se está refiriendo a sí mismo y a la gente que trabaja en la rama contra la que estoy rebatiendo?

danza
fuente
55
Por extraño que parezca, parece "eliminado por ellos" significa que eliminó el archivo en la rama que está modificando, mientras que "eliminado por nosotros" significa que las otras personas lo eliminaron. git mergeda el mensaje opuesto.
Fred Foo

Respuestas:

173

Cuando se fusiona , se usrefiere a la rama en la que se está fusionando, en oposición a themla rama a fusionar.

Cuando reescribe , se usrefiere a la rama ascendente y themes la rama por la que se mueve. Es un poco contra-intuitivo en caso de un rebase.

La razón es que Git usa el mismo motor de fusión para rebase, y en realidad está seleccionando tus cosas en la rama aguas arriba. us= dentro, them= desde.

SzG
fuente
54
Tiene sentido desde el punto de vista de la implementación , ya que rebase usa la maquinaria de fusión con la rama "nuestra" que es la rama aguas arriba y la rama "suya" que es la que está siendo rebaseada. Pero estoy de acuerdo en que es, bueno, "extremadamente inútil" parece una forma educada de decirlo. Prefiero tener las ramas etiquetadas con otras palabras que "nosotros / nuestras" y "ellas / sus", tal vez por nombre de rama, por ejemplo: "eliminado en maestro, modificado en función".
torek
3
Siempre tienden a confundir --theirscon --ourscuando se hace una obtención durante un rebase, es tan contrario a la intuición. Espero que arreglen esto algún día.
iosdude
¿Qué pasa cuando solo una rama está involucrada, como cuando se reordenan o aplastan los compromisos durante un rebase?
Justin Johnson
us: la nueva rama reescrita (en) them,: la rama original (de).
SzG
13
Puede ser útil pensar simplemente uscomo un mnemónico para "[u] p [s] tream" en lugar de la palabra normal en inglés "us".
kojiro