Когда вы запускаете git mv
, это изменение является частью вашего рабочего состояния дерева (а также поэтапно в смысле, описанном в Что означает «этап» в git? ), но не пока часть вашей ветви.
Это означает, что если вы изменили ветви, а git не , то попытайтесь сохранить изменения рабочего дерева (например, mv
), тогда ваши изменения будут просто отброшены.
Выбрасывать чью-то работу плохо - это не то, что должна делать система контроля версий. Таким образом, когда вы переключаетесь с одной ветви на другую, git пытается применить незафиксированные изменения рабочего дерева к этой новой ветви (и если они конфликтуют / не могут быть применены, отказывается завершить извлечение).
Итак, как вы можете предотвратить это?
Просто запустите git commit -m 'Renamed folder two to four'
, и изменение будет надежно введено в ветку, которую вы уже проверили, вместо того, чтобы следовать вашему рабочему дереву.