我應(yīng)該提交 vendor 目錄中的依賴包嗎?

2018-08-12 22:00 更新

我應(yīng)該提交 vendor 目錄中的依賴包嗎?

一般情況下 不建議。vendor 目錄(或者你安裝依賴的其它目錄)都應(yīng)該被添加進 .gitignore/svn:ignore/等等。

最好這么做,然后讓所有開發(fā)人員使用 Composer 來安裝依賴包。同樣,build server、CI、deployment tools 等等,應(yīng)進行修改,使運行 Composer 成為其項目引導(dǎo)的一部分。

雖然在某些環(huán)境下提交它是很讓人心動的,但它將導(dǎo)致一些問題:

  • 當你更新代碼時,將極大的增加 VCS 倉庫的體積和差異。
  • 在你自己的 VCS 中將產(chǎn)生與你依賴的資源包重復(fù)的歷史記錄。
  • 通過 git 的一個 git 倉庫安裝添加依賴,將把它們視作子模塊。這是有問題的,因為它們并不是真正的子模塊,并且你將會遇到這些問題。

如果你真的覺得你必須這樣做,你有幾個選擇:

  1. 限制自己安裝標記版本(無 dev 版本),這樣你只會得到 zip 壓縮的安裝,并避免 git“子模塊”出現(xiàn)的問題。
  2. 使用 --prefer-dist 或在 config 選項中設(shè)置 preferred-installdist。
  3. 在每一個依賴安裝后刪除其下的 .git 文件夾,然后你就可以添加它們到你的 git repo 中。你可以運行 rm -rf vendor/**/.git 命令快捷的操作,但這意味著你在運行 composer update 命令前需要先刪除磁盤中的依賴文件。
  4. 新增一個 .gitignore 規(guī)則(vendor/.git)來忽略 vendor 下所有 .git 目錄。這種方法不需要你在運行 composer update 命令前刪除你磁盤中的依賴文件。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號