2017-06-12 61 views
0

所以我有TypeScript項目。生成的.d.ts和.js文件可能會導致不必要的合併衝突。有條件的.gitignore文件 - 向.gitignore添加邏輯

但是,這個項目很大,目前只有約50%從JS轉換到TS,所以我不能簡單地.gitignore所有.js文件。此外,還有一些我永遠不會轉換爲.ts的.js文件。

那麼有沒有辦法有條件地忽略文件?

邏輯當然是簡單的:

ignore z.js if z.ts exists 
+0

此外,我希望.js文件在版本控制中,這樣我就不必在目標機器上重建東西。 –

+0

yolo rolo cholo –

回答

1

這是不可能的.gitignore是一個非常簡單的文件,並將它不允許忽略文件(S)或文件夾的任何條件規則( S)。

但是,您可以創建不同的模式來包含或排除文件。

請看看這裏爲幫助編寫.gitignore模式:.gitignore File Docs

2

那麼,有沒有辦法忽略有條件文件?

不,沒有。

然而,這個項目是大,目前只有約50%來自JS轉換爲TS,所以我不能簡單的.gitignore所有.js文件

可以。由Git跟蹤的文件不受.gitignore的影響,因此只有構建過程生成的*.js文件將被忽略。

+0

沒錯,但如果我手動添加.js文件到項目中,它們會突然變成.gitignore,這不是我想要的。 –

+1

@AlexanderMills,但你仍然可以'git add -f'這些新的'.js'文件 – Leon

+0

很好,這可能工作,謝謝! –

1

您可以有多個.gitignore文件。如果您的所有打字稿文件都位於一個目錄(或一個目錄結構)中,而您的.js文件位於另一個目錄中,請在typescript目錄內放置一個新的.gitignore文件,以忽略javascript文件。

這隻會忽略該目錄和子目錄中的JavaScript文件。