若有使用 GitHub 所預設的 Swift .gitignore,你會發現在 CocoaPods 的部分寫著
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
# Pods/
用意如同字面上的意思,GitHub 所提供的預設會建議你上傳 Pods 的內容到 git server 上,
而我個人也認同這種做法,目前所想的原因如下:
- 可以完整地打包套件當前狀態到 git 上,以避免套件有異動
- 若你們有直接修改 Pods 裡頭的 Source code 的話,更加得上傳(不過完全不建議這麼做)
- git clone 下來之後可以不用再 pod install 一次
不過也是有些壞處,如套件越多時,造成 git 上的專案肥大等。
但是像是 Carthage 的話,就會建議加入到 .gitignore,畢竟它的用意就是要去中心化,
若將自己 build 出來的套件放上去就和中心概念背道而馳了!