Ну, теперь я, кажется, ушел и получил все испорченное.Переключение ветвей подсказки для сохранения файла
Я пытаюсь узнать, как работает Git и как его использовать в среде Visual Studio/TFS 2015.3.
Вот проблема: когда я создаю ветку и вношу изменения в нее - например, добавление нового SomeClass
class-VS теперь спрашивает меня, хочу ли я сохранить измененный проект, когда я дважды щелкаю, чтобы переключать ветви. Такое поведение является новым - ранее я мог переключаться между ветвями без такого приглашения.
Принесите меня сюда ... Мне нужно дать вам долгую историю, чтобы вы знали весь контекст.
Мне удалось получить VS-решение, синхронизированное с удаленным репо. Я запустил свою первую сборку TFS, и я был абсолютно в восторге. Однако в сборке появилось предупреждение о том, что тесты не проводились. Справедливо; Я не включил тестовый проект. Поэтому я создал новый локальный филиал под названием add-test-project
и добавил проект.
Я обнаружил, что в VS я мог переключаться между master
и add-test-project
двойным щелчком мыши. Я заметил, что ветка master
не включила тестовый проект, но ответвление add-test-project
. Это имело смысл; Я еще ничего не слил.
Итак, я сделал запрос на объединение/фиксацию/вытягивание/синхронизацию (я не помню, как и в каком порядке), и казалось, что он сработал - на этот раз сборка не зарегистрировала предупреждение.
(Примечание стороны:., Когда я сделал запрос тянущего я был немного разочарован, чтобы увидеть, что VS открыл соответствующую страницу TFS в моем браузере по умолчанию, я бы хотел сделать это все в пределах IDE)
Я решил пропустить всю вещь запроса на тягу, потому что 1) я хочу остаться в IDE и 2) Я работаю соло, так что это лишний шаг. И это то, что, я думаю, в конечном итоге привело к моей проблеме.
Затем я сделал еще несколько циклов разветвления/синхронизации/фиксации/слияния (как я уже сказал, я не помню, и я точно не уверен, в каком порядке я их делал/должен был их делать - и каждый цикл имел другую последовательность Я уверен). Теперь я не могу переключать ветки, не запрашивая сохранения изменений. И изменения присутствуют в обеих ветвях.
Был ли мой локальный реестр Git каким-то образом испорчен? Я попытался использовать File Explorer, чтобы удалить скрытые папки .git
и .vs
, повторно открыть VS и повторно клонировать репо, но проблема не устранена.
Как я могу вернуть вещи туда, где они были, где я мог бы переключать ветви, чтобы увидеть состояние кода, которое было специфичным для текущей ветви? Может быть, как-то удалить все коммиты с сервера? Но я не нахожу способ сделать это.
Я уверен, что смогу выправить это с помощью решения «выжженной земли», например. вытрите все и начните с нуля, но я хотел бы знать, что я сделал неправильно (и как исправить это), поэтому я могу избежать этого.
EDIT
Стоит отметить, что теперь все пошло так сильно, что, когда я внести изменения в файл класса-например. add constructor-VS больше не помещает красную галочку рядом с этим файлом. Что-то есть действительно ушел боком здесь.
Yup, gotta commit (или stash, но это совершенно другая команда), ваши изменения локально, прежде чем менять ветки. И да, это правильная последовательность. – ChallahuAkbar
@ChallahuAkbar: Очень хорошо, спасибо :-) – InteXX