關於gitignoring Go 的供應商/資料夾的爭論
是否將Go 的供應商/資料夾加入.gitignore 檔案中的困境是一個反覆出現的問題開發社群中的問題。有些人主張排除它,而另一些人主張將其包含在內。
包含案例
- Github 自己的gitignore 範本不排除vendor/,因為它的內容應進行版本控制,以避免潛在的引用更改、項目消失或可能破壞相容性的工具演進。
- 如果在 Git 儲存庫中追蹤對供應商相依性的修改,則必須將其置於版本控制之下。
排除案例
- gitignore.io,一個廣泛使用的gitignore模板,確實排除了vendor/,因為它是由工俱生成的。
- 排除供應商/可減少儲存庫大小和混亂,特別是在並非所有團隊成員都需要供應商的情況下。
- 供應外部相依性可能會增加引入漏洞或相容性問題的風險。
替代方法
除了gitignoring vendor/ 的二元選擇之外,替代策略可以解決以下問題:
- 虛擬環境: Docker 和虛擬化可以標準化開發環境,最大限度地減少對供應商的需求。
-
混合方法:使供應商/不受版本控制,但提供用於在本地生成它的腳本或文件。
-
私人儲存庫:維護供應商依賴的私有儲存庫,可以被主專案引用。
-
Go Modules:目前的 Go 依賴管理標準,Go Modules,允許精確的版本控制,可能消除供應商的需要。
最終,決定取決於專案特定的要求和團隊協作動態。透過了解每種方法的優點和缺點,開發人員可以就 gitignore 供應商/並確保穩定一致的開發環境做出明智的決策。
以上是是否要 gitignore:Go 的供應商/資料夾是否應該從版本控制中排除?的詳細內容。更多資訊請關注PHP中文網其他相關文章!