我和一個伙伴正在做一個Unity專案,其中有很多腳本埋在許多檔案夾和子目錄中。我很難跟蹤這些腳本的具體位置,所以我想知道是否有辦法讓 git 包括所有擴展名為 .cs 的檔案和包含這些檔案的目錄,同時忽略其他所有檔案。
像**/*.cs這樣的檔案是否足夠了?
uj5u.com熱心網友回復:
像**/*.cs這樣的東西就夠了嗎?
對于 "忽略所有以.cs為擴展名的檔案 "的任務來說,這就足夠了。事實上,對于這樣的任務,更簡單的模式*.cs就足夠了。
不幸的是,你想解決一個相反的任務--"忽略所有除擴展名為.cs的檔案"。這是一個更難的任務,因為當你以 "忽略一切 "開始時,Git會忽略子目錄下的所有檔案。見檔案;最相關的部分是
如果一個檔案的父目錄被排除在外,就不可能重新包含該檔案。由于性能的原因,Git不會列出被排除的目錄,所以無論在哪里定義,對被包含的檔案的任何模式都沒有影響。
所以在忽略了所有東西之后,你需要 "取消忽略"(重新包含)目錄,然后包含*.cs。這就是你的.gitignore:
# 忽略所有的地方
*
# 遞回地忽略目錄和子目錄
!/**/
# 包括 *.cs
!*.cs
uj5u.com熱心網友回復:
這里是來自github的Unity專案的標準gitignore(它并不完美,有點過時了,但它很好)
https://github.com/github/gitignore/blob/master/Unity.gitignore
我建議使用這個。如果你只對.cs檔案使用版本控制,可能會導致一些奇怪的東西,Unity在其他檔案中保存了關鍵資料,如專案設定、元檔案、場景檔案、預制檔案等。
例如,如果A人的場景缺少B人添加的東西,那么A人如何知道他們正在作業的腳本實際上是有效的?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/325039.html
標籤:
