簡體   English   中英

如何使用由 dep 管理的開發供應商包?

[英]How to work with a development vendor package managed by dep?

如何在使用dep和供應商目錄時使用包的開發副本/克隆? 供應商目錄包含在主存儲庫中。

例如,我已經 fork 包並將其替換為我自己在 github 上的包。 我希望能夠編輯代碼,而不必為包的每次更改都git push + dep ensure

如果我在 vendor 目錄中克隆包,我將無法將該目錄提交到主存儲庫中,因為它被視為單獨的存儲庫。

我嘗試了一個技巧來從包外部.gitignore .git目錄。 這運行良好,直到運行dep ensure ,其中.git目錄被破壞。

根據dep docs ,目前沒有內置的方法可以做到這一點。

他們還建議不要直接修改vendor目錄中的包,原因我發現:運行dep ensure時它會被破壞。

他們的主要建議是手動從vendor/目錄中刪除包,在常規$GOPATH修改它,並在完成開發后運行dep ensure -update <pkg>

這比每次更改都推送要好得多,但仍然需要在完成開發工作時手動push / dep ensure

“忽略.git ”的替代方法是將.git文件夾保留在別處! (在你的 Go 項目之外)

任何時候您需要在 vendored 子項目中執行 git 命令,您都需要使用 git 命令的別名,即:

alias gg='git --git-dir=/path/to/elsewhere/.git --work-tree=/path/to/vendored/subproject'
# Windows
doskey gg=git --git-dir=C:\path\to\elsewhere\.git --work-tree=C:\path\to\vendored\subproject $*

這樣,您仍然可以從供應商子項目中的版本控制操作中受益。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM