0

我想备份我的项目,但文件夹现在超过 6.6 GB,主要是通过 boost 等额外的库,但即使我只是选择包含我的源的文件夹,我最终会得到大文件,如:.ipch、.自卫队和潜在的其他人。更糟糕的是,我使用 eclipse 编写代码并使用 VS 编译,这样就更糟了,尽管我的印象是只有 VS 会创建大文件。

万一狗屎击中了粉丝,我希望能够解压缩一个存档,并在其中包含项目设置和解决方案文件以及源代码等所有内容,以便我可以轻松地在 VS 中再次打开它。我可以忍受必须重新下载 boost 或其他第三方库。

你如何解决这个问题,我需要保留像 .sdf 这样的文件吗?

答案

感谢所有的提示。我现在将采用 LocustHorde 提出的解决方案,因为这似乎最适合我的需求。我只是想要一个可以在异地作为安全备份的文件(而且我不想使用在线服务)。存储所有文件的所有版本似乎并不适合更小和更简单,在这种情况下会有点矫枉过正,虽然我会考虑安装一些版本控制系统,因为我没有使用它们的经验,我想得到一些...

最终答案 仔细查看后,我发现找出哪些文件必须被 winrar 归档忽略仍然很麻烦。出于好奇,我最终安装了 Git 并喜欢它。所以我现在在本地存储库中有一些项目。从 Eclipse 中,我可以轻松地将文件和目录标记为被忽略,并使用 git-extensions 进行备份来克隆 repo。我仍然需要查看清除旧版本,这在 Git 中不是很用户友好,但似乎至少是可能的,然后我只需 7zip 文件夹。在最坏的情况下,我只是删除了 git 数据库,而我只有最后一个版本的源文件。或者也许我可以结帐到另一个目录。走着瞧。

4

4 回答 4

6

首先:我强烈建议不要使用备份,而是使用版本控制系统(VCS),例如SubversionMercurialGit。这是专业的备份,除了它维护每个文件的每个版本,而不仅仅是最新版本的副本。

即使使用 VCS,您仍然需要决定将哪些文件签入到 VCS,并且您不想备份可以轻松重新生成的文件。

对于我的项目,我通常不会签到:

  • 生成的可执行文件(在ReleaseDebugx64\Releasex64\Debug目录中的输出)。
  • 预编译头文件(ipch文件夹)
  • 浏览数据库(sdf文件)

所有这些东西都可以通过重建你的项目来重新生成。如果您作为团队的一员工作,您可能不应该签到:

  • 您的个人设置 ( .suo)

如果需要,您可以随时重新创建它。

于 2010-10-15T14:13:56.720 回答
2

备份内容的一个特别好的方法是将源代码放入版本控制系统中。我有时使用 git,有时使用 git。使用 git 我可以忽略不应该备份的文件,方法是将它们添加到 .gitignore:

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

使用 git,我可以在网络驱动器上设置一个备份存储库,并且不时地推送到它。

于 2010-10-15T14:06:46.453 回答
1

Doing a "clean" before archiving removes most of what you don't need.

Edited to add:

Of course a version control system is essential for any ongoing project, but that's not what he's asking.

于 2010-10-15T14:03:50.813 回答
1

你可以编写一个简单的脚本(批处理文件),只压缩你想要的文件类型。假设,您只想压缩所有 .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'

只需确保路径顺序正确。“a -r0 -ed”部分是开关,您可以在此处找到有关开关的所有信息:

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

我使用“忽略文件”开关 (http://acritum.com/winrar/manual/index.html?html_helpswxa.htm) 忽略所有我不想要的文件和文件夹(使用通配符),我的项目大约 86 mb ,当它只用代码文件压缩时,它会达到 6mb。

这是真正做到这一点的最佳方法。如果您需要更多帮助,请询问!

编辑:另外,查看 SVN(它是免费的!) - 我也使用 svn,它真的很有帮助。甚至还有一个名为 AnkhSvn 的免费工具可以集成到 Visual Studio 中。它太棒了!

于 2010-10-15T14:14:08.433 回答