MyTetra Share
Делитесь знаниями!
Можно ли принимать изменения через git pull если не закоммичены изменения рабочей директории
Время создания: 29.10.2021 08:50
Текстовые метки: git, pull, принять, изменения, коммит
Раздел: Компьютер - Программирование - Системы контроля версий (VCS) - Git
Запись: xintrea/mytetra_syncro/master/base/1635486607po9c72jnvs/text.html на raw.github.com

У новичков, которые работают с Git, часто складывается искаженное представление об этой системе контроля версиями. Одно из таких когнитивных искажений - это то, что для любых действий в Git (или перед любым действием в Git) необходимо в обязательном порядке делать коммит. Так и надежней, и не будет странных, гарантированно возникающих, проблем при объединении кода. Однако, лучше вначале разобраться как действует Git в различных ситуациях, чтобы потом заранее знать его поведение, и использовать это знание в своей работе.


Итак, что произойдет, если сделать команду git pull в рабочей директории в тот момент, когда уже сделаны некоторые изменения, но они еще не закоммичены? Это зависит от того, как пересекаются локальные изменения, и изменения, которые будут получены при git pull. Варианты следующие:


1. Если в локальных изменениях были изменены файлы, не совпадающие с файлами, в которых произошли получаемые по git pull изменения, то в результате работы Git локальные изменения останутся нетронутыми (см. п.2), а файлы, которые не изменялись программистом и для которых были получены изменения, будут изменены.


2. Если в локальных изменениях были изменены файлы, совпадающие с полученными через команду git pull файлами, то Git не будет производить изменения в локальных файлах, и выдаст следующую ошибку:



error: Ваши локальные изменения в указанных файлах будут перезаписаны при слиянии:

       simulator/src/main/main_form.cpp

       simulator/src/scheme/scheme_view.cpp

Сделайте коммит или спрячьте ваши изменения перед слиянием веток.

Прерываю



Данная ошибка будет выводиться даже в том случае, если изменения внутри файла не пересекаются. То есть, данная ошибка выводится просто по факту того, что локальный файл был изменен, и принятый по git pull файл тоже был изменен.


В этом случае нужно сделать то, что говорит Git.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования