2011-11-23 53 views
1

我目前在Unity項目中有一個我們不能提交的文件夾,因爲它包含經常變化的緩存數據,但對於應用程序運行是必要的,最後一個版本必須是如何讓SVN/GIT像二進制文件一樣處理文件夾?

當前,我們必須壓縮文件夾並提交壓縮文件。這顯然非常耗時。

有沒有辦法讓SVN或GIT「認爲」文件夾就好像它是一個二進制文件?具體來說,它會忽略該文件夾內的單個文件樹,而將其作爲一個單獨的塊進行處理。

這可能嗎?是否有另一個版本控制解決方案可以做到這一點?謝謝。

(我本來打算寫一個BAT文件這將自動進行壓縮和解壓縮,但看到Windows 7的板載荏苒實用程序是在命令行中無法訪問......)

+0

只是必需的文件夾,還是需要文件夾中緩存數據最後一個狀態的快照? – Zeke

+4

我不明白這個問題。如果你可以讓git將該文件夾看作一個二進制對象,那麼這個二進制對象不會像文件夾樹更改那麼頻繁? – kubi

+0

完全像kubi說的那樣,在版本控制下個別文件有什麼問題? – Shahbaz

回答

0

撥打的.gitignore文件僅包含行的文件夾中:

!.gitignore 

這告訴GIT中忽略所有的文件夾中除的.gitignore文件本身的文件。

這樣,它會創建文件夾,但不會嘗試管理您的緩存資源。

1

我會猜測你不想提交的文件夾應該存在,但在結帳時應該是空的。

如果你正在使用git,你必須使用.gitignore文件,並指定要忽略此文件夾中的每個文件,這樣它們將不會被提交。 這裏是.gitignore內容:

* 
!.gitignore 

使用SVN,你必須使用propsetsvn:ignore忽略eveything你的文件夾中:

svn propset svn:ignore "*" path/to/your/folder 

如果我錯了,其他的可能性是你想與掛鉤。但除非你爲這個答案添加評論,要求瞭解更多關於鉤子的信息,我不應該詳細討論這些細節。


資源:

相關主題:

+0

這可能會奏效 - 我必須嘗試。 Library文件夾的問題在於它跟蹤場景對象和項目設置 - 這會使得它在場景中的更改必須由另一端的人員手動完成。但是,值得一試! –

0

請確保您有 「元」 下方選擇 「編輯>編輯>版本控制」。這樣,您就可以忽略Temp目錄和Library目錄,並完全避免版本他們:)

只是版本AssetsProjectSettings.gitignore

另外,你有沒有嘗試從Unity資源商店使用Git UniTEAM?這是一個編輯器擴展,可讓您管理Git版本化的項目。