一森书、Xcode 支持的版本控制
1.Xcode5.x原生支持Git及SVN版本控制系統(tǒng)柒竞,相比于之前的Xcode4.x版本虏两,Git及SVN已經(jīng)非常好用甸箱。最近跟同事溝通雌澄,發(fā)現(xiàn)還有部分人不愿意使用Git/SVN脊阴。確實(shí)在之前的4.x版本中披摄,Git/SVN有可能導(dǎo)致Xib錯(cuò)誤帅韧,沖突解決不友好榨为,這在5.x版本中有了極大的改改善惨好,相比于Eclipse中的Git插件煌茴,Xcode原生提供的版本控制簡單極易于使用。關(guān)于Git及SVN的比較在這里不再提及日川,本文主要介紹Git的使用蔓腐,及在GitHub/Oschina中上傳項(xiàng)目。
2.目前網(wǎng)上已經(jīng)有多家git網(wǎng)站龄句,下面給出我最常用的兩個(gè)網(wǎng)站
http://www.github.com(GitHub,公開項(xiàng)目免費(fèi)回论,私有項(xiàng)目收費(fèi),最流行的版本控制網(wǎng)站)
http://git.oschina.cn(開源中國分歇,國內(nèi)網(wǎng)站傀蓉,訪問速度快,公開及私有項(xiàng)目都免費(fèi))
網(wǎng)上現(xiàn)在也有一些博客描述了這兩個(gè)網(wǎng)站的使用职抡,但基本上都是通過SSH方式進(jìn)行身份驗(yàn)證葬燎,而SSH需要進(jìn)行一些配置才能使用。相對于SSH, HTTPS驗(yàn)證方式就要簡單的多了缚甩,不需要任何的配置萨蚕,只需要輸入用戶名及密碼即可。
二蹄胰、如何上傳新的項(xiàng)目
Xcode在提交,更新等操作都極易使用奕翔,唯獨(dú)在提交項(xiàng)目到服務(wù)器這一功能有點(diǎn)捉襟見肘裕寨。將項(xiàng)目提交到服務(wù)器大體有以下幾種方法
使用命令行上傳(本文不介紹,需要記住命令)
使用第三方的版本控制軟件(簡單派继,但需要下載第三方軟件)
使用Xcode上傳
在這里我們只簡單介紹一下不用命令行及第三方軟件宾袜,只使用Xcode進(jìn)行版本的上傳。上傳的時(shí)候分為兩種情況:
本地項(xiàng)目尚未創(chuàng)建
本地項(xiàng)目已經(jīng)建立
1.本地項(xiàng)目尚未創(chuàng)建的時(shí)候比較簡單驾窟,第一步先Check out,步驟如下:
在彈出的配置窗口中庆猫,填入git服務(wù)器的url
直接下一步,將文件保存到本地
這里保存到本地文稿中的Example文件下绅络,下一步直接在這個(gè)文件下創(chuàng)建新項(xiàng)目
簡單配置一下項(xiàng)目名稱等信息
直接下一步月培,在這一步比較重要,我們要將新創(chuàng)建的項(xiàng)目保存到剛才Check Out的文件夾中恩急,因?yàn)檫@個(gè)文件夾的Git已經(jīng)在Check Out時(shí)自動(dòng)配置好了
保存后杉畜,新創(chuàng)建的項(xiàng)目會(huì)自動(dòng)打開,在每一個(gè)文件上會(huì)多出一個(gè)“衷恭?”此叠,稍等就會(huì)自動(dòng)識別成如下圖
其中"A"代表這個(gè)文件夾是新添加的,"M"代表這個(gè)文件有修改随珠,下步提交到服務(wù)器上
這里簡單介紹一下灭袁,菜單的作用
Commit 將修改提交到本地的Git倉庫中
Push 將本地倉庫提交到服務(wù)器上
Pull 從服務(wù)器獲取新的代碼
Discard All Changes 取消所有的更改猬错,這一功能慎用,選擇這一項(xiàng)是本地的代碼會(huì)全部取消更改
下一步茸歧,將代碼Push到服務(wù)器上
選擇分支倦炒,默認(rèn)即可
Push的時(shí)候需要驗(yàn)證,如果沒有輸入過賬號举娩,這里會(huì)彈出讓輸入賬號的窗口
至此我們的項(xiàng)目就提交完成了
2.如果本地項(xiàng)目已經(jīng)建立析校,該怎么辦呢?步驟稍有不同铜涉,在從服務(wù)器Check Out到要地文件夾下后智玻,將本地已經(jīng)存在的項(xiàng)目,直接拷貝到Check Out的文件夾中即可芙代,其它的與上面一樣吊奢。
3.這里說一下使用的一些小技巧
在進(jìn)行開發(fā)的時(shí)候,每完成一次功能時(shí)要勤提交纹烹,提交時(shí)注意項(xiàng)目是可運(yùn)行的页滚, 至少不能有編譯錯(cuò)誤
Xcode的特殊機(jī)制,在添加铺呵、刪除文件時(shí)都會(huì)更改項(xiàng)目的配置文件裹驰,所以兩個(gè)人同時(shí)進(jìn)行了文件添加刪除操作就有可能引起項(xiàng)目的沖突,沖突可以通過命令行解決
如果想撤銷文件的更改片挂,右鍵該文件Discard changes即可
Xcode提供了版本比較幻林,有的時(shí)候我們需要比較不同版本的代碼以確定進(jìn)行哪里更改,在Xcode的右上角Editor上提供了這個(gè)功能
同一個(gè)文件沖突時(shí)音念,提交時(shí)Xcode會(huì)直接提供解決沖突的辦法沪饺,有一個(gè)小的switch用于選擇哪一版本代碼
三、GitHub及git.OSchina的使用
這兩個(gè)網(wǎng)站都提供了Git相應(yīng)功能,他們的使用與標(biāo)準(zhǔn)Git沒有太大的區(qū)別闷愤,這里只講一下這兩個(gè)如何進(jìn)行Https認(rèn)證,簡單來說就是應(yīng)該使用哪一個(gè)用戶名整葡,我們在提交或者更新項(xiàng)目時(shí),如果直接填入上面兩個(gè)網(wǎng)站的登陸賬號(郵箱)就會(huì)出現(xiàn)問題,給出賬號的查找辦法讥脐,如下圖
GithHub驗(yàn)證時(shí)應(yīng)該填寫的用戶名
OSChina的用戶名查找
注意兩個(gè)進(jìn)行驗(yàn)證時(shí)都不能直接使用郵箱