2013-03-31 3 views
0

В SVN (или Git), предположим, что вы находитесь в каталоге рабочей копии, которая была создана, проверяя ветвь A. Теперь, мне нужно работать и совершать расшириться B.Переключение между ветвями в SVN и Git

В SVN я могу использовать svn switch B и в Git, я могу использовать git checkout B, чтобы переключиться на ветвь B.

Однако я всегда боюсь этой операции переключения; поэтому я создаю новую рабочую копию, и когда мне нужно работать во многих филиалах, я получаю много устаревших рабочих каталогов.

Мой вопрос в том, что переключение одной и той же рабочей копии между различными ветками полностью безопасно или нет. Должны ли SVN или Git хранить какие-либо файлы, принадлежащие другой ветке, или они действительно очищают и переключаются на новую ветку?

ответ

2

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

+0

есть «git stash» для локальных модификаций –

+0

Еще одна проблема может возникнуть, если вы находитесь в Windows и файл имеет блокировку, но в целом Майкл правильно –

+0

IMHO, git stash лучше использовать, если вы хотите предоставить горячее исправление на том же бранч. – Michael