在做私有庫(kù)的時(shí)候卷要,執(zhí)行 push 操作的時(shí)候清女,報(bào)如題的錯(cuò)誤玩徊。
pod repo push [repo] [podspec]
但是執(zhí)行pod lib lint
的時(shí)候,本地驗(yàn)證卻是可以通過(guò)的琼了。
然后參考Stack Overflow和google的一些答案逻锐,都沒(méi)能解決。這里就不貼嘗試過(guò)的別的答案了雕薪。
最終經(jīng)過(guò)反復(fù)調(diào)試昧诱,發(fā)現(xiàn) 是自己沒(méi)有把本地版本、tag版本所袁、遠(yuǎn)程提交版本同步好盏档。也就是它們之間存在不一致。
我本地驗(yàn)證可以通過(guò)燥爷,但是沒(méi)有通過(guò)git add .
把發(fā)生修改的文件提交到緩沖區(qū)蜈亩,也沒(méi)有git commit -m "XX"
提交到本地倉(cāng)庫(kù)。這個(gè)時(shí)候打的tag前翎,是從本地倉(cāng)庫(kù)打的tag稚配。所以就出現(xiàn)了和本地現(xiàn)在的代碼不同步。
所以正確的步驟港华,是把代碼都提交到本地倉(cāng)庫(kù)后道川,再重新打 tag 然后重新push就可以通過(guò)了。
因?yàn)橹岸际怯?source tree。現(xiàn)在直接上手git操作有點(diǎn)不太熟練冒萄,導(dǎo)致犯下了低級(jí)錯(cuò)誤臊岸。這個(gè)問(wèn)題確實(shí)挺難找的。如果沒(méi)有意識(shí)到是代碼不同步的話宦言,很可能會(huì)被網(wǎng)上很多答案給帶偏了扇单。
希望我的這種解決能夠幫助到有類似問(wèn)題的人。
以下是我創(chuàng)建私有庫(kù)過(guò)程中用到的一些命令
pod命令
pod spec create XTProtocolManager//生成pod庫(kù)配置文件
pod init//生成Podfile
pod lib lint//驗(yàn)證lib
pod repo push [repo] [podspec]
pod repo push [repo] [podspec] --verbose --allow-warnings
git命令
git init//初始化
git status//查看狀態(tài)
git add .//添加文件到緩沖區(qū)
git commit -m "描述"http://從緩沖區(qū)提交代碼到倉(cāng)庫(kù)
git tag -a '0.0.1' -m '描述'//添加tag
git tag //查看tag
git tag -d '0.0.1'//刪除tag
git remote add origin https://github.com/xxx.git//關(guān)聯(lián)本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)奠旺。
git push -f origin master//將本地庫(kù)的代碼推到遠(yuǎn)程庫(kù)
git push --tags//將本地創(chuàng)建的tag推到遠(yuǎn)程庫(kù)
git push origin :0.0.1//刪除tag