我的項目基於我從original Symfony SE repository克隆的Symfony標準版。 Symfony當然會發佈其自己的composer.json
和composer.lock
文件,說明它的依賴關係。升級Symfony2標準版時解決Composer合併衝突
我爲我的項目開發使用master
分支,並且自項目開始以來我已將自己項目的依賴關係添加到composer.json
並將其鎖定爲composer.lock
。
但現在是時候更新我的項目以使用Symfony SE 2.1.3。
我有Symfony的標準版回購添加遠程Git:
git remote add symfonyse git://github.com/symfony/symfony-standard.git
我可以在最新的變化從symfonyse
庫合併2.1分支以獲得最新的2.1的發展:
git pull symfonyse 2.1
因爲我已經修改了composer.json
和我自己的依賴關係,並且composer.lock
之前被鎖定到了我的舊依賴關係,所以在拉出之後當然會發生合併衝突。
但現在有衝突的composer.lock
正試圖將最新的Symfony2 SE鎖定依賴項合併到我自己項目的鎖定依賴項中(其中包括我的代碼和Symfony 2.1.0的代碼)。手動合併這將是非常乏味的!
在composer.lock
中解決這些衝突的最佳方法是什麼?
我應該在執行git checkout -- composer.lock
時忽略composer.lock
中的合併衝突,它會在啓動合併之前將composer.lock
恢復到其內容?我想,那麼我可以運行composer update
每個依存性Symfony2的SE要求已在新composer.json
改變我只是合併了更新。
或者我應該接受被合併在所有的變化與composer.lock
,提交他們,後來乾脆全部更新我的項目依賴項通過運行composer update
?這實際上會產生一個全新的鎖定文件,無論如何,Symfony 2.1.3和我自己的依賴關係都會被鎖定。我只是不確定是否需要鎖定文件的上游更新,如果我也得到最新的composer.json
更改。