Почему git pull не обновляет локально измененные файлы?

Не видел, чтобы кто-то предлагал мои обычные варианты:

less +F <file>
ctrl + c
/<search term>
<enter>
shift + f

Я предпочитаю это, потому что вы можете использовать ctrl + c, чтобы останавливать и перемещаться по файлу всякий раз, а затем просто нажмите shift + f, чтобы вернуться к текущему потоковому поиску.

0
задан user1554876 13 July 2018 в 18:07
поделиться

2 ответа

git сменит изменения с пульта с локальными исправленными изменениями. Он не будет пытаться объединиться с вашими незафиксированными изменениями и если есть удаленные изменения в тех же файлах, он предупредит вас, что слияние уничтожит ваши локальные изменения и отклонит слияние.

Update - я понял, что на самом деле я не ответил «почему»:

. Причина этого различия между локально зафиксированными изменениями, а также незафиксированными локальными изменениями заключается в том, что вы всегда можете получить локальное совершенные изменения. Они находятся в фиксации, и вы можете checkout совершить фиксацию, создать там новую ветвь, даже если reset текущая ветка вернется к этой точке, если это необходимо. Ничто не теряется при слиянии с локально зафиксированными изменениями.

Но ваша рабочая группа (незафиксированные локальные изменения) не получает такой защиты. Если git должен был объединить изменения в него, и результат не был тем, что вы хотели, вы не могли бы легко «отступить» к тому, что у вас было раньше.

Мы могли бы также пойти на технические различия в том, что было бы чтобы объединиться с незафиксированными изменениями, но эти технические причины можно было бы преодолеть, если бы было желательно объединиться с незафиксированными изменениями. Однако, поскольку это может привести к потере данных, вместо этого желательно избегать слияния изменений в любой файл с локальными незафиксированными изменениями.

3
ответ дан Mark Adelsberger 17 August 2018 в 12:17
поделиться
  • 1
    Отлично, поддержал. Это объясняет, что я испытываю. Я не выполнял свои изменения в конфигурации, потому что у меня нет намерения выталкивать их на удаленный доступ, просто хочу убедиться, что я получаю хорошую сборку. Таким образом, когда git объединяется, хотя он видит, что файлы конфигурации разные, он делает молчащий «игнорировать». – user1554876 27 July 2018 в 19:43
3
ответ дан torek 17 August 2018 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: