git對工程進行專案管理時,由於專案中會用到很多第三方,為節省空間及clone或push或pull的時間過長尤其是在網路慢的問題(有時候網速太慢在clone時或報錯,誤認為是網路外的其他問題),一般情況下不會將pods資料夾下的檔案提交到遠端git庫。只要將podfile和podfile.lock(cocoapods的第三方管理檔案)兩個檔案提交到git進行版本管理即可(下邊會講這兩個檔案必須進行版本管理的原因)。
一、被cocoapods管理的工程中pod有關的三個檔案分三大塊
1.podfile檔案:引入管理的第三方庫及其版本資訊
pod 'afnetworking' //不顯式指定依賴庫版本,表示每次都獲取最新版本
pod 'afnetworking', '2.0' //只使用2.0版本
pod 'afnetworking', '> 2.0' //使用高於2.0的版本
pod 'afnetworking', '>= 2.0' //使用大於或等於2.0的版本
pod 'afnetworking', '< 2.0' //使用小於2.0的版本
pod 'afnetworking', '<= 2.0' //使用小於或等於2.0的版本
pod 'afnetworking', '~> 0.1.2' //使用大於等於0.1.2但小於0.2的版本
pod 'afnetworking', '~>0.1' //使用大於等於0.1但小於1.0的版本
pod 'afnetworking', '~>0' //高於0的版本,寫這個限制和什麼都不寫是乙個效果,都表示使用最新版本
2.podfile.lock檔案:該檔案用於儲存已經安裝的pods依賴庫的版本
在開始使用cocoapods,執行完pod install之後,會生成乙個podfile.lock檔案,podfile.lock檔案最大得用處在於多人開發。
對於沒有在podfile中指定pods依賴庫版本的寫法,如下:
pod jsonkit
該句話用於獲取當前sbjson這個pods依賴庫的最新版本。
當團隊中的某個人執行完pod install命令後,生成的podfile.lock檔案就記錄下了當時最新pods依賴庫的版本,這時團隊中的其它人check下來這份包含podfile.lock檔案的工程以後,再去執行pod install命令時,獲取下來的pods依賴庫的版本就和最開始使用者獲取到的版本一致。如果沒有podfile.lock檔案,後續所有使用者執行pod install命令都會獲取最新版本的sbjson,這就有可能造成同乙個團隊使用的依賴庫版本不一致,這對團隊協作來說絕對是個災難!
在這種情況下,如果團隊想使用當前最新版本的jsonkit依賴庫,有兩種方案:
鑑於podfile.lock檔案對團隊協作如此重要,我們一定要將它新增到版本管理中。
3.pods資料夾:
二、如何忽略pods資料夾
這個就得從.ignore檔案著手了 開啟.ignore檔案, 如下
.gitignore檔案預設是隱藏的,開啟此檔案
找到pods/ 預設是注釋掉的, 去掉前面的#即可, 這樣在pod框架下得檔案就不會再納入管理. 在其他開發人員使用時, 轉殖**後只需要做一下 pod install即可.(注意:pod update 是不可以的)
在此使用pod install而不是pod update原因如下:
pod install執行時如果有podfile.lock檔案,則三方庫會根據lock檔案記錄的版本更新為最新版本
pod update 不管是否有podfile.lock檔案,都會將在(podfile中引入時未寫版本的第三方庫)更新為網路上最新的版本,會造成庫找不到的問題
參考:cocoapods官方:
注意,最後一句有誤只能用pod install,親自試過。
svn結合git一起使用
公司是用svn的,並且沒辦法改變了,但git好處那麼多,就兩個一起用。和公司 庫的交換還是用svn,git用於本地和同事之間的 提交 先svn checkout 然後在 目錄git init建立 倉庫 編寫.gitingore或.git info exclude將不需要加入 庫的檔案加進去 然後gi...
一起走過,一起走下去
多久沒有好好的靜下來給你寫封信了,想想,確是好久了啊!只有那麼幾天你就要走了,不知該對你如何說,該對你說要好好的,自己多保重,卻又不想提起這樣的話題。是啊,這樣的話語好讓人感傷,以致有時候刻意閃躲,不為別的,只為不想與你分離。說起這些,你是不是想問我,難道我們分開的還不夠久麼?難道每每想念的時候你都...
一起學Git 欲學Git請先忘記
啊!錯了錯了,欲學git,請先忘記。倚天屠龍記中一段描寫的非常精彩,是關於張無忌如何學到太極拳和太極劍的,摘錄如下 張三丰道 老道這路太極劍法能得八臂神劍指點幾招,榮寵無量。無忌,你有佩劍麼?小昭上前幾步,呈上張無忌從趙敏處取來的那柄木製假倚天劍。張三丰接在手裡,笑道 是木劍?老道這不是用來畫符捏訣...