我想保留JavaScript(.js)文件在git控制之下。Git忽略生成的擴展
但是,如果TypeScript(.ts)文件存在,我想忽略關聯的.js文件。
有沒有辦法用git來實現這一點?
編輯:最好不改變目錄並重構所有現有的代碼。
我想保留JavaScript(.js)文件在git控制之下。Git忽略生成的擴展
但是,如果TypeScript(.ts)文件存在,我想忽略關聯的.js文件。
有沒有辦法用git來實現這一點?
編輯:最好不改變目錄並重構所有現有的代碼。
執行此操作的一種典型方法是將任何已編譯的輸出放入某個分發目錄中。你可能會組織目錄結構如下所示:
src/
... various JavaScript files, etc.
dist/
... compiled output from any build tool you're using
然後在Git中,你可以忽略dist
目錄,並假定人誰去拉下來的是回購和它的工作要麼運行手動構建工具,或者它將作爲安裝過程的一部分自動構建。
換句話說,更容易組織它而不依賴於一組特定的git功能。這是JavaScript世界中很常見的模式。
如果你不去那個方法,另一種方法是給你想要忽略的文件添加一些標識符。例如,你可能會在前面加上你想要_
忽略,然後添加此規則應用到所有文件的.gitignore
(見this answer爲什麼以下工程):
\_*
也有一些缺點,這第二種方法:
希望有所幫助。
'這是JavaScript世界中相當常見的模式.'不僅在JS 。幾乎任何產生輸出的東西都會這樣做。一般來說,來源/產生的區別幾乎是普遍的。這將是一個構建步驟,以獲取所有生成的文件並將它們(以某種方式)捆綁到一個可交付物中,在這種情況下,可以表示爲將所有'* .js'文件放入'/ js /'目錄或者不包括'* .ts',因爲它沒有使用最終產品。 – vlaz
@vlaz很好的說明,謝謝你的評論。 –
@JoshBeam:我贊成,因爲這是一個很好的建議。但是,它不回答我的問題。我不允許移動現有文件和重構。因此,我想找到另一種方式消除這些文件供git考慮。 – chriskelly
我沒有使用打字稿,但不能讓打字稿在不同的目錄中生成JavaScript文件? – redneb
可以在文件中附加一些標識符,例如'_somefile.js'或將JS輸出到不同的目錄,例如'generated/somefile.js' – vlaz
@ redneb,@ vlaz。移動文件不是我的要求。我至少想讓我的git回購整潔。因此,我想知道是否可以在不移動現有文件並重構所有現有路徑的情況下完成(並非我不想自己) – chriskelly