Github с Visual Studio 2013 - невозможно вытащить из-за незавершенных изменений
Сейчас я один разработчик, но у меня есть рабочее место, и я также работаю дома. Github для меня идеально подходит, потому что цель состоит в том, чтобы отслеживать мой код, а также просто хранить его в хорошем хранилище, чтобы я не потерял его. Итак, вот мой рабочий процесс...
- Работайте дома (
site a
)
- фиксировать изменения в github часто
- иногда, это будет до 20 транзакций в день, в зависимости от производительности. Я совершаю
часто.
- перейти к другой работе
site b
(обычно в офисе)
- хранилище клонов в
site b
- это делается в visual studio, перейдя в
Team Explorer
→ Projects
→ Connect to Team Projects
, а затем используя Clone
с URL-адресом репозитория github.
![clone]()
- redownload nuget packages и т.д. - возобновите работу как обычно в
site b
за день
- Я также совершаю частые коммиты.
- вернуться домой (
site a
) и открыть Visual Studio 2013
- откройте проект, над которым я работал
- перейдите к
Team Explorer
→ Unsynched 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
и перезапустите.