Есть ли разумный способ сделать резервную копию решений Visual Studio C ++ без всех «лишних» файлов, которые создает IDE? - PullRequest
0 голосов
/ 15 октября 2010

Я хотел бы сделать резервную копию своего проекта, но папка теперь превышает 6,6 ГБ, в основном за счет дополнительных библиотек, таких как boost и т. Д., Но даже если я просто выберу папки с моими источниками, я получу большие файлы, например:.ipch, .sdf и потенциально другие.Что еще хуже, я использую Eclipse для кода и VS для компиляции, что добавляет беспорядка, хотя у меня сложилось впечатление, что только VS создает большие файлы.

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

Как вы решаете эту проблему и нужно ли мне сохранять файл как .sdf?

Ответ :

Спасибо за все советы.Теперь я приму решение, предложенное LocustHorde, потому что оно лучше всего подходит для моих нужд.Я просто хочу один файл, который я могу удалить вне офиса в качестве безопасной резервной копии (и я не хочу использовать онлайн-сервис).Хранение всех версий всех файлов, кажется, не работает в меньшем объеме и проще, и в этом случае это будет немного излишним, хотя я постараюсь установить некоторую систему контроля версий, потому что у меня нет опыта работы с ними, и я хотел бы получитьнекоторые ...

Окончательный ответ После хорошего взгляда я обнаружил, что разбираться в том, какие файлы должны быть проигнорированы архивированием winrar, все еще остается проблемой.Я наконец закончил установку Git из любопытства и мне понравилось.Теперь у меня есть несколько проектов в локальном хранилище.Из Eclipse я могу легко пометить файлы и каталоги как игнорируемые, а для создания резервной копии я использую git-extensions для клонирования репозитория.Мне все еще нужно взглянуть на чистку старых версий, которые не очень удобны в Git, но, по крайней мере, кажутся возможными, и тогда я просто разархивирую папку.В худшем случае я просто удаляю базу данных git и у меня просто последняя версия моих исходных файлов.Или, может быть, я могу оформить заказ в другой каталог.Посмотрим.

Ответы [ 4 ]

6 голосов
/ 15 октября 2010

Во-первых: вместо резервного копирования я настоятельно рекомендую использовать систему контроля версий (VCS), например Subversion , Mercurial или Гит . Это профессиональный эквивалент резервной копии, за исключением того, что он поддерживает каждую версию каждого файла, а не только копию последней версии.

Даже с VCS вам все равно нужно будет решить, какие файлы регистрировать в VCS, и вы не хотите создавать резервные копии файлов, которые могут быть легко сгенерированы повторно.

Для моих проектов я обычно не регистрируюсь:

  • Сгенерированные исполняемые файлы (выходные данные в каталогах Release, Debug, x64\Release и x64\Debug).
  • Предварительно скомпилированные заголовки (папка ipch)
  • База данных просмотра (sdf файлов)

Все эти вещи можно воссоздать, перестроив ваш проект. Если вы работаете в команде, вам, вероятно, не стоит регистрироваться:

  • Ваши персональные настройки (.suo)

При необходимости вы всегда можете создать его заново.

2 голосов
/ 15 октября 2010

Особенно хороший способ сделать резервную копию ваших материалов - поместить ваш источник в систему контроля версий.Я использую Git иногда, а иногда Mercurial.Используя git, я могу игнорировать файлы, которые не должны быть зарезервированы, добавив их в .gitignore:

Debug
Yokto.sdf
Yokto.suo
*.filters
*.user
ipch
Release
Yokto.opensdf
*.opensdf
*.sdf

С помощью git я могу создать резервное хранилище на сетевом диске и просто каждый раз нажимать на негоа затем.

1 голос
/ 15 октября 2010

вы можете написать простой скрипт (пакетный файл), который архивирует только те типы файлов, которые вам нужны. Предположим, вы хотите сжать все ваши файлы .aspx, .cs, .config, .xsd,

предположим, что в вашем c: \ program files \ winrar * установлен winrar

и ваш проект находится в c: \ project \ MyBigProject

затем просто откройте свой блокнот, скопируйте и вставьте его, и сохраните как «script.bat» (не забывайте двойные кавычки при сохранении, вам нужно сохранить его с двойными кавычками, чтобы блокнот сохранял как расширение .bat вместо .txt)

для резервного копирования (другими словами, для архивации нужных файлов):

"C:\Program Files\WinRAR\rar" a -r0 -ed MyBackup.rar c:\project\MyBigProject\*.aspx,*.cs,*.xsd,*.config

синтаксис такой:

"path to winrar folder" 'switches' "Name of completed rar file" 'folder to zip'

просто убедитесь, что пути в правильном порядке. части "-r0 -ed" являются переключателями, и вы можете узнать все о переключателях здесь:

http://acritum.com/winrar/manual/index.html?html_helpswitches.htm

Я использую переключатель «Игнорировать файлы» (http://acritum.com/winrar/manual/index.html?html_helpswxa.htm), чтобы игнорировать все файлы и папки, которые мне не нужны (с подстановочными знаками), и Мой проект составляет около 86 МБ, когда он сжимается только с файлами кода, он подходит к 6mb.

это лучший способ сделать это на самом деле. Если вам нужна дополнительная помощь, пожалуйста, спросите!

edit: Кроме того, посмотрите на SVN (это бесплатно!) - я тоже использую svn, и это действительно полезно. Существует даже бесплатный инструмент под названием AnkhSvn для интеграции в визуальную студию. это просто фантастика!

1 голос
/ 15 октября 2010

Выполнение «очистки» перед архивированием удаляет большую часть того, что вам не нужно.

Отредактировано, чтобы добавить:

Конечно, система контроля версий необходима для любого текущего проекта, но он не об этом.

...