Кто такие «мы» и кто такие «они» согласно Git?

157

После перезагрузки Git и других обстоятельств вы можете найти в отчете некоторые файлы, помеченные как удаленные намиgit status . Кто мы по Git и почему?

Это относится ко мне, сидящему на этой ветке, и это работает для меня? Или это относится к себе и людям, работающим над веткой, против которой я перебиваюсь?

Danza
источник
5
Как ни странно, кажется, что «они были удалены» означает, что вы удалили файл в ветке, которую вы перебираете, а «мы удалили» означает, что другие люди удалили ее. git mergeдает противоположное сообщение.
Фред Фу

Ответы:

173

Когда вы объединяетесь , usотносится к ветви, в которую вы сливаетесь, а не к themветви, которая должна быть объединена.

Когда вы перебазируете , usссылается на ветку upstream и ветку, themпо которой вы двигаетесь. Это немного нелогично в случае ребазинга.

Причина в том, что Git использует тот же движок слияния для ребазинга, и он фактически выбирает ваши вещи в ветке upstream. us= в, them= от.

SZG
источник
54
Это имеет смысл , от реализации «с точки зрения, как перебазироваться использует слияние технику с филиалом„наши“является вверх по течению ветви и„ихний“филиал является один из них нормированных. Но я согласен, что, ну, «крайне бесполезный» выглядит как вежливый способ выразить это. Я бы предпочел, чтобы ветки были помечены другими словами, а не «нами / нашими» и «их / их», возможно, например, по названию ветви: «удалено в мастере, изменено в функции».
Торек
3
Я всегда путаюсь --theirsс тем, --oursкогда делаю проверку во время ребазинга, это настолько нелогично. Я надеюсь, что они исправят это когда-нибудь.
iosdude
Как насчет того, когда задействована только одна ветвь, например, при повторном упорядочении или фиксации во время фиксации rebase?
Джастин Джонсон
us: новая переписанная ветка (в) them;: оригинальная ветка (из).
СЗГ
13
Это может помочь просто думать usкак мнемоника для "[u] p [s] tream" вместо обычного английского слова "us".
Кодзиро