2015-09-14 66 views
-1

我在Symfony2中有一個項目,它在Git中維護着幾個分支:develop,testing和其他一些項目。文件composer.json在每個分支上都有所不同,所以我需要始終運行composer update以更新依賴關係和/或刪除可能導致不需要的行爲的舊庫或新庫。處理Symfony2項目和Git分支

現在我正在學習,並努力寫出使用BDD一些測試:貝哈特+水貂,我不希望有一個對develop分支的變化,所以我創造了testing並就分支,但所有這些改變我表示主要問題是在我切換分支時隨時運行composer update

哪個是正確的方法來處理這個問題?你會怎麼做?有什麼建議?我瘋了幾次運行相同的命令,然後將我的本地代碼(Windows主機)上的PHPStorm與遠程代碼(Linux服務器)同步。想法?

回答

1

想到幾件不同的事情。有些不錯的練習,其他人可能減輕週轉時間,這取決於你想要多少努力發揮:

基礎:

  • 在.lock下來 - 確保每個分支都有一個堅定的鎖定文件。有一個原因是它的right in the Composer documentation。很少有項目似乎對SemVer很感興趣,甚至那些可以讓時不時突破的項目也能讓人感到驚訝。
  • 具體化當運行一個作曲家更新,確保您的目標具體軟件包分支(例如:composer update doctrine/dbal)之間的差異。
    • 更好的是,根本不運行update。這可能是錯誤地更新了你不想要的分支中的軟件包。更好地利用composer install
  • 爲什麼不能同時使用? - 爲您的項目專門設立一個單獨的克隆可能值得嗎?如果你看到自己經常同時在這兩個地方工作,那麼可以省去切換分支的麻煩。畢竟,磁盤空間很便宜。
    • 從本地刪除所有分支,除了你感興趣的分支。安裝Git推/拉'簡單'以避免任何意外提交。

中等或更高

  • 偷懶,去喝杯咖啡 - 考慮結帳後掛機。例如,您可以看到here。享受備用的週期來獲取一些咖啡,映射我們的下一個測試。
  • 推出自己的 - 安裝本地Satis實例。我們注意到在我們的團隊添加了一個本地Satis實例並鏡像了我們的主要依賴關係之後,我們的項目安裝有了顯着的改進。
  • VM - 將您的項目轉換爲使用虛擬機。基於GUI的工具(如PuPHPetPhansible)可以幫助您輕鬆解決問題。這不會解決你的作曲家問題,但減少與遙控器同步的往返時間可能值得花時間投資。
  • 配置調整 - 以每個分支爲基礎更改作曲家的供應商目錄。有關詳細信息,請參閱this previous answer
    • 注:這有增加了一些併發症的測試由於意外/特定分支的權限錯誤的概率高,等
  • Platform.sh
    1. 設置與Platform.sh
    2. 帳戶
    3. ???
    4. 利潤

希望以上的一些組合可以幫助您找到一些改進!