1

新しい Visual Studio プロジェクトを作成してさまざまなテクノロジを試したり、週末のプロジェクトを試したりするとき、.pdb や obj/bin ファイルなどを気にせずに簡単にソースを圧縮できる方法が必要です。

何年も前に、一連の .bat ファイルを思いつきました。そのうちの 1 つは 、次のような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

[Create new Git repository] ​​を選択して Visual Studio プロジェクトを作成すると、.gitignore ファイルが作成されます。

Git にはアーカイブ機能が組み込まれているため、pkzip を使用する必要はありません。

次のように入力してください: git archive -o all.zip HEAD

bin、obj、exe、nuget アセンブリなどの .zip ファイルに不要なものを含めずに、最新のソースの all.zip を作成します。

于 2015-01-19T19:21:05.027 に答える