Github с Visual Studio 2013 - невозможно вытащить из-за незавершенных изменений

Сейчас я один разработчик, но у меня есть рабочее место, и я также работаю дома. Github для меня идеально подходит, потому что цель состоит в том, чтобы отслеживать мой код, а также просто хранить его в хорошем хранилище, чтобы я не потерял его. Итак, вот мой рабочий процесс...

  • Работайте дома (site a)
  • фиксировать изменения в github часто
    • иногда, это будет до 20 транзакций в день, в зависимости от производительности. Я совершаю часто.
  • перейти к другой работе site b (обычно в офисе)
  • хранилище клонов в site b
    • это делается в visual studio, перейдя в Team ExplorerProjectsConnect to Team Projects, а затем используя Clone с URL-адресом репозитория github.

clone

  • redownload nuget packages и т.д. - возобновите работу как обычно в site b за день
    • Я также совершаю частые коммиты.
  • вернуться домой (site a) и открыть Visual Studio 2013
  • откройте проект, над которым я работал
  • перейдите к Team ExplorerUnsynched Commits и нажмите Pull

pull

  • иногда он работает
  • иногда, однако, я получаю следующую ошибку , и я понятия не имею, почему

error

Я бы понял это, если бы сделал внесенные изменения в текущий проект до, пытаясь вытащить, но я этого не сделал. Все, что я сделал, загружено Visual Studio. В нем говорится: "Подробные сведения см. В окне" Выход ", но окно" Выход" полностью пустое - подробностей нет, и в этой ситуации единственным ответом, который я нашел, является удаление проекта WHOLE с моего компьютера и повторное клонирование всего репозитория.

Конечно, это неправильно, я полный новичок в git, и я читал документацию снова и снова, и это все еще не имеет смысла для меня. Может ли кто-нибудь помочь пролить свет на все это?

Ответы

Ответ 1

Прежде чем pull -инг нужно сначала stash выполнить незафиксированные изменения. Visual Studio пока не поддерживает полный набор функциональных возможностей Git, включая git stash, поэтому вам нужно сделать это через командную строку или использовать что-то вроде Дерево источников в дополнение к Visual Studio для такого случая. Запустите git status -u, чтобы увидеть незафиксированные изменения и git stash, чтобы временно скрыть их до вытягивания/синхронизации. Время от времени Visual Studio будет кэшировать результаты состояния и будет не синхронизироваться с реальностью, в этом случае kill Studio, удалите файл .git\ms-persist.xml и перезапустите.