У меня возникли трудности с извлечением из origin
. Я продолжаю получать:
«Невозможно извлечь, так как есть незафиксированные изменения. Подтвердите или отмените изменения перед повторным извлечением. Дополнительные сведения см. в окне вывода».
Это также относится к переключению ветвей. Я получаю подобное сообщение, но это не всегда происходит.
Я использую Visual Studio 2015 Update 1 и Visual Studio Team Services Git. На моей машине у меня есть локальная ветка master
и ветки разработки. Каждый раз, когда я переключаюсь на master
, а затем делаю тягу, я получаю сообщение об ошибке. Я прибегал к созданию тайника и сброса тайника (командная строка), а иногда я использую TortoiseGit для выполнения натяжка и работает.
Странно то, что даже если я пытаюсь вернуться (для незафиксированных файлов) с помощью TortoiseGit, он показывает, что он был успешно отменен (я уже пытался отменить Visual Studio, ничего не происходит). Пытаюсь вытащить снова, проблема все та же. Незафиксированные файлы будут там, и иногда, когда я делаю git status
, он говорит, что нечего фиксировать.
Просто примечание: это может произойти даже после перехода с ветки на master
. В этом случае не может быть незафиксированных изменений, потому что я бы не смог переключиться в первую очередь.
Я все еще новичок в Git, но я хотел бы знать, есть ли лучший способ решить эту проблему, поскольку я хотел бы использовать одну среду вместо использования переключения между разными средами для каждой задачи; мне проще просто делать все из Visual Studio. Я уже прочитал:
TFS/GIT в VS Не удается переключиться на мастер, так как есть незафиксированные изменения
ОБНОВЛЕНИЕ
Похоже, эта проблема связана с окончаниями строк.
Выполнив git diff -R
, вы увидите, что добавлено окончание строки "^M", и оно отличается. Удаление * text=auto
в gitattributes (затем проверьте наличие изменений) и повторное включение его, чтобы gitattributes не сигнализировал об изменении самого себя, которое необходимо зафиксировать, похоже, помогает, никаких изменений не будет.