Chi è "noi" e chi è "loro" secondo Git?


157

Dopo un rebase di Git, e in altre circostanze, puoi trovare alcuni file contrassegnati come eliminati da noi nel git statusrapporto. Chi siamo secondo Git e perché?

Si riferisce a me seduto su questo ramo e funziona per me? O si riferisce a se stesso e alle persone che lavorano sul ramo contro cui mi sto ribellando?


5
Stranamente, sembra che "cancellati da loro" significhi che hai eliminato il file sul ramo che stai riassegnando, mentre "cancellato da noi" significa che gli altri lo hanno eliminato. git mergedà il messaggio opposto.
Fred Foo,

Risposte:


173

Quando si unisce , si usriferisce al ramo in cui si sta unendo, al contrario themdel ramo da unire.

Quando si ribatte , usfa riferimento al ramo a monte ed themè il ramo su cui ci si sta spostando. È un po 'controintuitivo in caso di rebase.

Il motivo è che Git usa lo stesso motore di merge per rebase, e in realtà sta raccogliendo le tue cose nel ramo a monte. us= in, them= da.


54
Ha senso dalla attuazione 's punto di vista, come rebase utilizza il meccanismo di unione con il ramo 'nostri' è il ramo di monte e la 'loro' ramo essendo quello che viene ricalcolato. Ma sono d'accordo, beh, "estremamente inutile" sembra un modo educato per dirlo. Preferirei che i rami fossero etichettati con altre parole oltre a "noi / nostri" e "loro / loro", forse per esempio con il nome del ramo: "cancellato in master, modificato in feature".
torek,

3
Ho sempre tendono a confondere --theirscon --oursquando si fa un checkout nel corso di un rebase, è così intuitivo. Spero che risolveranno questo un giorno.
iosdude,

Che dire di quando è coinvolto un solo ramo, ad esempio quando si riordina o si annulla un commit durante un rebase?
Justin Johnson,

us: il nuovo ramo riscritto (in) them,: il ramo originale (da).
SzG,

13
Può essere utile pensare semplicemente usa un mnemonico per "[u] p [s] tream" invece della normale parola inglese "us".
Kojiro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.