這篇文章給大家分享的是有關(guān)使用別名的原因的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)公司專注于建水網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供建水營銷型網(wǎng)站建設(shè),建水網(wǎng)站制作、建水網(wǎng)頁設(shè)計、建水網(wǎng)站官網(wǎng)定制、小程序設(shè)計服務(wù),打造建水網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供建水網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
下面由composer教程欄目給大家介紹使用分支別名的原因,希望對需要的朋友有所幫助!
為什么要使用別名?
當(dāng)你使用版本控制系統(tǒng)倉庫時,你只能從那些看起來像版本的分支得到一個可比較的版本,例如 2.0 或 2.0.x 。對于 master 分支,你只能得到一個 dev-master 版本。對于 bugfix 分支,你將得到 dev-bugfix 版本。
如果你的 master 分支是用來標(biāo)記 1.0 的開發(fā)流程,如 1.0.1 , 1.0.2 , 1.0.3 等,依賴于你的庫的包可能需要的是 1.0.* 。
如果有人想要使用最新的 dev-master ,將會遇到一個問題:有的包可能需要的是 1.0.* ,所以這兩個將會導(dǎo)致沖突,因為 dev-master 并不匹配 1.0.* 。
基于以上,別名出現(xiàn)了。
分支別名
dev-master 分支是主 VCS 倉庫中的一個。有些人會想要最新的主開發(fā)版本,這是很常見的。因此,Composer 允許您將 dev-master 分支別名為 1.0.x-dev 版本。它是通過在 composer.json 中指定 extra 下的 branch-alias 字段來完成的:
{ "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } } }
如果別名為不可比較的版本 (例如 dev-develop),則必須為分支名稱添加前綴 dev- 。您也可以為可比較的版本添加別名(即以數(shù)字開頭,以 .x-dev 結(jié)尾),但只作為更具體的版本。例如,1.x-dev 可以被別名為 1.2.x-dev。
別名必須是可比較的開發(fā)版本,并且 branch-alias 必須出現(xiàn)在它引用的分支上。對于 dev-master 您需要在 master 分支上提交它。
因此,很多人現(xiàn)在都需要 1.0.* 并且他將很樂意安裝 dev-master 。
要使用分支別名,您必須擁有別名的包的存儲庫。如果要為第三方包添加別名而不維護它的分支,請使用,內(nèi)聯(lián)別名,如下所述。
需要內(nèi)聯(lián)別名
分支別名對于主要開發(fā)線非常有用。但是為了使用它們,您需要控制源存儲庫,并且需要提交對版本控制的更改。
當(dāng)您想嘗試某個庫的錯誤修復(fù)時,這并不是很有趣,該庫是本地項目的依賴項。
因此,您可以在 require and require-dev 字段中對包進(jìn)行別名。假設(shè)您在 monolog/monolog 包中發(fā)現(xiàn)了一個錯誤。您在 GitHub 上克隆了 Monolog 并在一個名叫 bugfix 的分支中解決了這個問題?,F(xiàn)在,您要在本地項目中安裝該版本的 monolog 。
您使用的是 symfony/monolog-bundle ,需要 monolog/monolog 版本 1.* 。因此,您需要使用 dev-bugfix 來匹配該約束。
將其添加到項目的根 composer.json 中:
{ "repositories": [ { "type": "vcs", "url": "https://github.com/you/monolog" } ], "require": { "symfony/monolog-bundle": "2.0", "monolog/monolog": "dev-bugfix as 1.0.x-dev" } }
這將從您的 Github 獲取 monolog/monolog 的 dev-bugfix 的版本,并將其別名為 1.0.x-dev 。
注意:內(nèi)聯(lián)別名是僅限 root 用戶使用的功能。如果需要具有內(nèi)聯(lián)別名的包,則使用別名(as 的右側(cè))用作版本約束。 as 的左邊部分被丟棄了。因此,如果 A 需要 B 和 B 需要 monolog/monolog 版本 dev-bugfix 為 1.0.x-dev ,則安裝 A 也將使 B 也需要 1.0.x-dev ,其可能作為分支別名或?qū)嶋H的 1.0 分支存在。如果沒有,則必須在 A 的 composer.json 中再次進(jìn)行內(nèi)聯(lián)別名。
注意:應(yīng)避免使用內(nèi)聯(lián)別名,尤其是對于已發(fā)布的包 / 庫。如果您發(fā)現(xiàn)了錯誤,請嘗試將您的修復(fù)程序合并到上游,這有助于避免使用您包的用戶出現(xiàn)問題。
感謝各位的閱讀!關(guān)于“使用別名的原因”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!