Git rebase "удаленные нами" и "удаленные ими"
Предположим, что я перезагружаю ветвь Эксперимент на мастер, и в файлах есть конфликты. И, конечно, файлы удаляются в обеих ветвях. Поэтому, когда я разрешаю конфликты, в git status
я вижу deleted by us
и deleted by them
. Это очень запутанно. Есть ли способ понять, что они означают? Кто их и кто нас?
Или во время перезагрузки есть другой способ узнать, какой файл был удален какой ветвью? Как печатать название ветки?
Ответы
Ответ 1
Обратите внимание, что слияние с rebase работает, переигрывая каждую фиксацию из рабочая ветвь поверх ветки <upstream>
. Из-за этого, когда происходит конфликт слияния, сторона, о которой сообщается, как наша, является настолько далекой rebased series, начиная с <upstream>
, а их рабочий филиал. Другими словами, стороны меняются местами.
https://git-scm.com/docs/git-rebase
Следовательно, файлы, "удаленные нами", это те, которые были удалены на ветке, на которой вы перегружаетесь (окончательная ветка), а файлы, "удаленные ими", - это файлы, которые были удалены в ветки, которую вы переустанавливаете (одна который будет удален).
AFAIK нет переключателя для отображения конкретных имен ветвей явно на официальных инструментах. Если я ошибаюсь, это всего лишь одна из тех вещей, которые вам нужно научиться, чтобы пройти начальную путаницу.
К их чести, это имеет большой смысл, если вы думаете об этом.
Ответ 2
Я нашел ответ здесь:
Когда вы объединяетесь, us
относится к ветки, в которую вы сливаетесь, в отличие от them
, ветки, которую нужно объединить.
Когда вы переустанавливаете, us
ссылается на ветвь вверх по течению, а them
- это ветка, о которой вы двигаетесь. Это немного противоречит интуиции в случае переустановки.
Причина в том, что git использует один и тот же механизм слияния для rebase, и на самом деле он вишнево-собирает ваши вещи в ветку вверх по течению. us
= в, them
= from.