2014年12月31日 星期三

在iOS專案引入外部Library的另一種選擇 - git subtree

CocoaPods

CocoaPods可說是目前iOS coder之間最流行的module管理方式,CocoaPods非常適合那些自己很少去維護的外部library,通常都是等別人更新完之後自己下pod update更新。但是當我們也需要經常性的去維護這個library時,我們需要在另外一個git repository修改,然後在自己的專案下pod update指令更新,實在很麻煩!

Git Subtree

那麼對於需要經常去修改的pod,我們就可以採用Git Subtree來管理。使用Git Subtree來管理的好處是什麼呢?

  1. 原有的工作流程不會被打斷,只需要照平常一樣commit就好,更新library的遠端repository只要再打一行指令就好,要從遠端repository把更新拉下來一樣只需要一行指令。
  2. 新專案成員把repository clone下來之後不用再另外下指令更新sub tree,全部的東西都已經被clone下來了

參考:
https://medium.com/medium-eng/how-we-modularized-mediums-ios-codebase-8f8f26965c76
http://yutin.logdown.com/posts/188306-git-subtree-total-addendum-library
http://www.lemonlatte.tw/posts/175465-git-subtree-trial
http://www.xiwan.info/subtree-detach-subdirectory-into-separate-repository.html

沒有留言:

張貼留言