所以我有TypeScript項目。生成的.d.ts和.js文件可能會導致不必要的合併衝突。有條件的.gitignore文件 - 向.gitignore添加邏輯
但是,這個項目很大,目前只有約50%從JS轉換到TS,所以我不能簡單地.gitignore所有.js文件。此外,還有一些我永遠不會轉換爲.ts的.js文件。
那麼有沒有辦法有條件地忽略文件?
邏輯當然是簡單的:
ignore z.js if z.ts exists
所以我有TypeScript項目。生成的.d.ts和.js文件可能會導致不必要的合併衝突。有條件的.gitignore文件 - 向.gitignore添加邏輯
但是,這個項目很大,目前只有約50%從JS轉換到TS,所以我不能簡單地.gitignore所有.js文件。此外,還有一些我永遠不會轉換爲.ts的.js文件。
那麼有沒有辦法有條件地忽略文件?
邏輯當然是簡單的:
ignore z.js if z.ts exists
這是不可能的,.gitignore
是一個非常簡單的文件,並將它不允許忽略文件(S)或文件夾的任何條件規則( S)。
但是,您可以創建不同的模式來包含或排除文件。
請看看這裏爲幫助編寫.gitignore
模式:.gitignore File Docs
那麼,有沒有辦法忽略有條件文件?
不,沒有。
然而,這個項目是大,目前只有約50%來自JS轉換爲TS,所以我不能簡單的.gitignore所有.js文件
可以。由Git跟蹤的文件不受.gitignore
的影響,因此只有構建過程生成的*.js
文件將被忽略。
沒錯,但如果我手動添加.js文件到項目中,它們會突然變成.gitignore,這不是我想要的。 –
@AlexanderMills,但你仍然可以'git add -f'這些新的'.js'文件 – Leon
很好,這可能工作,謝謝! –
您可以有多個.gitignore
文件。如果您的所有打字稿文件都位於一個目錄(或一個目錄結構)中,而您的.js
文件位於另一個目錄中,請在typescript目錄內放置一個新的.gitignore
文件,以忽略javascript文件。
這隻會忽略該目錄和子目錄中的JavaScript文件。
此外,我希望.js文件在版本控制中,這樣我就不必在目標機器上重建東西。 –
yolo rolo cholo –