用cocoapods的同志們都會面臨一個問題:如果我找到了一個非常適合我的三方類庫蕉朵,但是有些定制不能滿足我崔涂,我一定要改這個類庫怎么辦?
AFNetworking大家都再熟悉不過了始衅,我們經(jīng)歷了一個陣痛期那就是ipv6冷蚂,3.0倒是支持,但是API變了不少汛闸,如果代碼結(jié)構(gòu)沒有設(shè)計(jì)的太好蝙茶,那改動又比較大,2.0版本需要改一些東西蛉拙,直接在cocoapods里改尸闸?然后就蹦出來一個這個
點(diǎn)了Unlock就可以改了,但是不建議這么做啊<你本地改了孕锄,但是你隊(duì)友收不到你的更改吮廉,提交代碼的時候我們一般只提交自己寫的東西, 至少不會提交pod里的內(nèi)容, .gitigonre里會停止追蹤別人的代碼>?clone下來畸肆,改了再提交上去宦芦,不一定會被作者收錄,反正我這水平人家是不會接受我提交的更改轴脐。不過我們可以到 AFNetworking 主頁去fork下來调卑,然后自己想怎么改怎么改,最后在podFile里拉去你要的版本即可大咱。
然后clone下來恬涧,比如我fork到我的git里了,git路徑就是https://github.com/yhl714387953/AFNetworking.git
那么你改吧改吧提交上去碴巾,隨便你怎樣做標(biāo)記溯捆,commit、tag厦瓢、branch提揍,當(dāng)然這都是git的操作了啤月,我們在podFile里可以這樣寫
上圖第一行就是我們更改過后創(chuàng)建的一個分支,最下面一行是環(huán)信的劳跃,它沒有指定commit谎仲、tag、branch刨仑,當(dāng)然人家就這么一個版本郑诺。
開場白說的有點(diǎn)多了,下面回到正題
本來打算接下來的篇文章是講解腳本和cocoapods的贸人,后來發(fā)現(xiàn)git在里面發(fā)揮著比較大的作用间景,不管你cocoapods怎么寫,最終資源還是在git上了<當(dāng)然也可能在SVN或者自己的服務(wù)器上艺智,也有可能在本地> 終究逃脫不了git的各種操作倘要,如果系統(tǒng)的學(xué)一下呢,還是推薦這個網(wǎng)站 廖雪峰的官方網(wǎng)站十拣。
推薦兩款GUI工具
GitHub Desktop 可以直接把本地的項(xiàng)目public到你的gitHub上封拧,當(dāng)然你說你不用也可以,最后push的時候會提示你輸入帳號和密碼
SourceTree讓多少人解放了git命令啊夭问,敲來敲去感覺逼格挺高泽西,其實(shí)GUI工具的出現(xiàn)就是為了讓人有更高的開發(fā)效率,當(dāng)然命令行多多少少也要知道一些
git倉庫的創(chuàng)建
像我這種半路出家搞IOS的人缰趋,很少會在意git倉庫創(chuàng)建的問題捧杉,反正就知道會有人給我個地址,我給生成個pub文件秘血,然后就能拉取代碼和資源了味抖,然后我在終端cd 到一個目錄下,咔嚓一執(zhí)行
git clone git@www.zuiye.com/ios
我這個目錄里就有了資源了
當(dāng)然你要是覺得命令麻煩灰粮,那就在用sourceTree去添加
或者用GitHubDesktop
或者直接登錄gitHub官網(wǎng)
然后你再clone下來
再不濟(jì)仔涩,那就直接命令行
git init
等等 插播一段廣告,如果你玩命令行粘舟,那我強(qiáng)烈推薦oh-my-zsh 有多牛我不知道熔脂,但是
oh-my-zsh
AFNetworking
這個玩意到底干嘛的,安裝一次你就知道了柑肴,系統(tǒng)那個命令行簡直是不忍直視霞揉、無法使用啊晰骑!
.gitignore 配置
如果在gitHub上創(chuàng)建項(xiàng)目會發(fā)現(xiàn)強(qiáng)制要求你有.gitignore 文件零聚,如果clone下來的項(xiàng)目或者新創(chuàng)建的倉庫沒有.gitignore文件咋整,不咋整些侍,創(chuàng)建一個隶症。這是一個隱藏文件,我們可以用命令行創(chuàng)建岗宣,vim編輯蚂会,當(dāng)然你直接用text編輯也沒事,不過我在編輯podFile和 podSpec的時候被文本編輯器搞瘋了耗式,后來只能用sublime了胁住。
創(chuàng)建一個.gitignore
touch .gitignore
編輯gitignore我推薦 vim, vim 是啥刊咳?不知道彪见,有人跟我說vim好比大師,記事本好比入門的菜鳥娱挨,反正我不是大師余指,也不用vim,我都直接open 去編輯的跷坝。當(dāng)時我笨的啊酵镜,我問他們怎么退出vim 編輯?細(xì)復(fù)特冒號Q柴钻。
在模塊化開發(fā)的時候我就不配置停止追蹤的文件淮韭,我是直接讓所有的人都配置成要跟蹤的文件,每個人只追蹤自己開發(fā)模塊的東西贴届。很多人討厭storyboard靠粪、xib 說是查看一下,git都認(rèn)為修改了毫蚓,那好吧占键,你可以在.gitignore里修改配置下,.gitignore一般我是不定期的修改绍些。我創(chuàng)建了一個項(xiàng)目忽略了pod捞慌,我們看看有多少文件沒有被追蹤
cocoapods里的東西是強(qiáng)烈建議不要讓git去追蹤,因?yàn)闀屇愕拇a庫變得超級大柬批,然后我們就發(fā)現(xiàn)了啸澡,好多github上的三方類庫,下載下來先要執(zhí)行 pod install氮帐。
.gitignore 的配置嗅虏,有人整理了一套,關(guān)于各種語言的gitignore
https://github.com/github/gitignore 看星星數(shù)上沐,那也指定差不了皮服,我先給打個廣告。
我怎么感覺說一堆,沒說到點(diǎn)子上呢龄广,那就當(dāng)零散的知識去說吧
我們在腳本的前兩行會寫上
git reset --hard
git pull
是啊硫眯,本地沒有commit的東西,也執(zhí)行不了pull操作择同,強(qiáng)制reset回去是因?yàn)樵诖虬傲饺耄赡苡袥]有必要的改動,只有配置和碼代碼的人改動的才是有必要的改動敲才。
感謝您閱讀完畢裹纳,如有疑問,歡迎添加QQ:714387953(蝸牛上高速)紧武。
github:https://github.com/yhl714387953
如果有錯誤剃氧,歡迎指正,一起切磋阻星,共同進(jìn)步
如果喜歡可以Follow朋鞍、Star、Fork迫横,都是給我最大的鼓勵