git
сменит изменения с пульта с локальными исправленными изменениями. Он не будет пытаться объединиться с вашими незафиксированными изменениями и если есть удаленные изменения в тех же файлах, он предупредит вас, что слияние уничтожит ваши локальные изменения и отклонит слияние.
Update - я понял, что на самом деле я не ответил «почему»:
. Причина этого различия между локально зафиксированными изменениями, а также незафиксированными локальными изменениями заключается в том, что вы всегда можете получить локальное совершенные изменения. Они находятся в фиксации, и вы можете checkout
совершить фиксацию, создать там новую ветвь, даже если reset
текущая ветка вернется к этой точке, если это необходимо. Ничто не теряется при слиянии с локально зафиксированными изменениями.
Но ваша рабочая группа (незафиксированные локальные изменения) не получает такой защиты. Если git должен был объединить изменения в него, и результат не был тем, что вы хотели, вы не могли бы легко «отступить» к тому, что у вас было раньше.
Мы могли бы также пойти на технические различия в том, что было бы чтобы объединиться с незафиксированными изменениями, но эти технические причины можно было бы преодолеть, если бы было желательно объединиться с незафиксированными изменениями. Однако, поскольку это может привести к потере данных, вместо этого желательно избегать слияния изменений в любой файл с локальными незафиксированными изменениями.