1

在尝试创建新的 Visual Studio 项目以尝试各种技术或周末项目时,我想要一种简单的方法来压缩我的源代码,而不用担心 .pdb、obj/bin 文件等。

这么多年前,我想出了一组 .bat 文件,其中一个是: zipall.bat,看起来像这样:

del all.zip
pkzip -add -excl=Backup\* -path -rec all

在运行它之前,我会运行另一个批处理文件: clean.bat,它看起来像这样:

del/f/s/q *.aps        2>nul
del/f/s/q *.bsc        2>nul
del/f/s/q *.exp        2>nul
del/f/s/q *.idb        2>nul
del/f/s/q *.ilk        2>nul
del/f/s/q *.lib        2>nul
del/f/s/q *.ncb        2>nul
del/f/s/q *.obj        2>nul
del/f/s/q *.opt        2>nul
del/f/s/q *.pch        2>nul
del/f/s/q *.pdb        2>nul
del/f/s/q *.plg        2>nul
del/f/s/q *.sbr        2>nul
del/f/s/q *.suo        2>nul
del/f/s/q *.sdf        2>nul

del/f/s/q /ah *.suo        2>nul

del/f/s/q BuildLog.htm    2>nul

for /f "delims=;" %%i in ('dir "TempPE" /s/b /ad')         do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "obj" /s/b /ad')            do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "_ReSharper*" /s/b /ad')    do rmdir /s/q "%%i"
for /f "delims=;" %%i in ('dir "TestResults*" /s/b /ad')   do rmdir /s/q "%%i"

定期,我将不得不使用新工具引入的扩展来更新列表。

顺便说一句,pkzip 中“excl=Backup*”选项的原因是为了维护 zip 文件的备份。 backup.bat看起来像这样:

mkdir Backup 2>nul
if not exist all.zip goto :eof
set datex=%date:/=-%
set timex=%time::=-%
set filename="Backup\%datex% %timex%.zip"
copy all.zip %filename%

由于 Visual Studio 2013 内置了 Git,我不再为备份烦恼。

在 Visual Studio 2013 中创建新项目时,如果您指定“创建新的 Git 存储库”,它将创建一个隐藏的 .gitignore 文件,该文件比我的clean.bat更详尽。有没有办法将该列表与 pkzip 一起使用,以便在压缩时忽略 .gitignore 中的文件?

4

1 回答 1

6

.gitignore 文件是在您创建 Visual Studio 项目并选择“创建新的 Git 存储库”时创建的。

您不需要使用 pkzip,因为 Git 具有内置的归档功能。

只需输入: git archive -o all.zip HEAD

它将创建最新源的 all.zip,而 .zip 文件中没有任何你不想要的东西,如 bin、obj、exes、nuget 程序集等。

于 2015-01-19T19:21:05.027 回答