2012-02-10 4 views
3

Я использую Git для управления версиями и сборки с Visual Studio 2008. В основном я строю на одной ветви (мастер). Часто мне нужно сделать обзор кода и временно переключиться на другую ветвь (развернуть). Я не строй кода, который я рассматриваю и после того, как обзор закончен, я вернуться к исходной ветви:Как избежать восстановления Visual Studio после переключения Git ветви назад и вперед?

  1. развивается на мастер
  2. совершить все (филиал чистый)
  3. сборки
  4. переключателя для разработки
  5. сделать обзор кода
  6. переключатель освоить
  7. продолжают развиваться на мастер
  8. сборки (перекомпилирует много файлов, а не только те, измененных в предыдущем шаге)

Если мастер и разрабатывать разные версии одного файла, дату изменения и время для этого файла обновляется до момента проверки после переключения филиалов на шаге 5. Это заставляет Visual Studio перестраивать их в шаге 8, несмотря на то, что код сума не изменился.

Как избежать массивных перестроек при смене ветвей?

ответ

1

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

+1

Звучит как довольно сложный сценарий. Это похоже на переопределение функциональности проверки, которая сохраняет время модификации. Или я могу сделать это проще? Существующий скрипт? –

+0

Действительно ли Git хранит время модификации или мне нужно сохранить их вручную в таком скрипте? –

+1

Это не будет сложный сценарий. Вы можете получить список файлов из git diff --stat –

3

В качестве обходного пути вам может понадобиться сделать обзоры кода в другом клоне вашего клона разработки. Таким образом, переход на ветку обзора не изменит файлы в вашем мастер-клоне, что не приведет к тому, что VS будет излишне перестраивать их.

+0

Спасибо за предложение, но мой репозиторий огромен - более 3 ГБ. Я бы хотел избежать потери пространства. –

+0

'git clone' на локальном компьютере файлы hardlinks по умолчанию, когда это возможно, поэтому клон может занимать менее 3 ГБ на вашем диске. –

+1

Не в окнах это не так. –