應該將 vendor 目錄加入版本控制嗎?

藏色散人
發布: 2019-09-20 13:29:34
轉載
3200 人瀏覽過

應該將 vendor 目錄加入版本控制嗎?

composer使用教學專欄給大家提供了關於composer各種問題的解決辦法,例如:

我應該將vendor 目錄加入版本控制嗎?

通常請不要這樣做, vendor 資料夾(或其它你依賴套件所安裝的位置)應該被加入.gitignore/svn:ignore/......

最好的方法是讓所有開發人員使用Composer 命令來安裝依賴,同樣的,建置伺服器,部署工具等,需要將執行Composer 納入工程引導的一部分。

儘管在某些情況下將其提交到版本庫挺讓吸引人的,但其容易帶來下面幾個問題:

● 當你更新程式碼時,版本控制倉庫代碼變大,diff 變得臃腫。

● 項目所有的依賴將在你版本控制中產生一份副本。

● 某些場景下 Composer 透過 git 安裝的 git 倉庫將被視為子模組。這是有問題的且會帶來麻煩,因為它們並非真正的子模組。

如果你真的感覺你必須這麼做,你有這幾個選項:

1、依賴套件的版本限制為打過tag 的發布(非dev)版本,這樣的話你只會透過zipped 安裝,從而避免因為git submodule 產生問題。

2、使用--prefer-dist 或設定preferred-install 為dist 到你專案的config.

3、每個依賴安裝後移除.git 目錄,然後再把它們添加到你的倉庫。你可以使用 rm -rf vendor/**/.git (在 ZSH 中) 或  find vendor/ -type d -name ".git" -exec rm -rf {} \; (在 Bash 中)。但這意味者下次執行 composer update 時你需要刪除這些依賴。 /

4、新增一個 .gitignore 規則(/vendor/**/.git)來忽略 vendor 下的 .git 目錄。此方法的好處是你無需為了 composer update 而刪除這些依賴。

以上是應該將 vendor 目錄加入版本控制嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:learnku.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板