處理.gitignore中的Go Vendor資料夾
問題
是否將由go dep指令產生的vendor/資料夾一直加入.gitignore 一直加入是一個爭論的話題。目前該資料夾被忽略,導致每次部署時都會呼叫dep Ensure。
討論
是否忽略vendor/的決定取決於特定的專案需求和開發需求。
忽略供應商/的原因:
- github/gitignore 的 Go.gitignore 範本不包含供應商/。
- 對依賴項中供應商的內容進行版本控制,面對庫更新可能是不可取的。
- 供應工具可能會隨著時間的推移而演變(例如,從 dep 到 vgo 再到模組),可能會使追蹤的依賴項失效。
不忽略供應商/的原因:
- 修改版本控制中的依賴項對於追蹤變更和解決衝突很有用。
- gitignore.io/api/go 建議忽略供應商/.
- 如果團隊成員本地環境不同,vendor 資料夾可以保證依賴版本的一致性。
建議方法
如果沒有具體說明場景:
- 考慮依照 github/gitignore 的範本忽略供應商/。
如果有特定需求:
- 使用虛擬化或容器來標準化開發環境,盡量減少對本地依賴管理的需求。
- 採用混合方法,保持供應商/外部版本控制,但提供本地產生腳本。
- 考慮使用私人儲存庫來管理供應商依賴項,確保開發人員之間的使用一致。
- 探索 Go 模組的使用,它提供精確的依賴項版本控制並可能消除供應商需求。
以上是給供應商還是不給供應商:是否應該在“.gitignore”中忽略“vendor/”資料夾?的詳細內容。更多資訊請關注PHP中文網其他相關文章!