公司項(xiàng)目一直是使用svn進(jìn)行版本控制的,比較坑的是最開(kāi)始新建項(xiàng)目的時(shí)候svn版本比較低,導(dǎo)致后續(xù)各種升級(jí)以及附帶的問(wèn)題。現(xiàn)在想將項(xiàng)目遷移到git管理,參考一些資料和博客后,總結(jié)下經(jīng)驗(yàn)。本篇文章主要是講述如何在Xcode里面使用mac自帶的git對(duì)項(xiàng)目進(jìn)行版本控制。
1、創(chuàng)建工程的時(shí)候同時(shí)直接選擇git管理
好,我們從這里開(kāi)始:File->New->Project->工程命名->next->看下圖選擇->create

?這樣就創(chuàng)建了一個(gè)帶git控制的工程項(xiàng)目。
2、已經(jīng)創(chuàng)建好的工程沒(méi)有帶git控制,可以用如下的方法新增
(1) 打開(kāi)終端,cd到你創(chuàng)建的工程目錄
(2) 執(zhí)行g(shù)it init 。 這時(shí).git 文件就被創(chuàng)建出來(lái)了,使用命令 ls -a 能查看隱藏文件
(3) 執(zhí)行g(shù)it add . ?。該行指令中不要漏掉后面的“.”,它和add之間還有一個(gè)空格。這樣就把當(dāng)前目錄的所有內(nèi)容都添加到了.git文件中
(4) 執(zhí)行g(shù)it commit -m "Initial commit",這樣就會(huì)持久保存所做的更改
最后,重啟Xcode,打開(kāi)Source Control 你就會(huì)發(fā)現(xiàn)原本不可以用的菜單項(xiàng),現(xiàn)在都可以使用了。
3、按照1或者2的步驟,最后可以在Source Control看到如下截圖所示的內(nèi)容:

4、接下來(lái)就能進(jìn)行實(shí)際操作,查看git控制版本效果。
主要功能使用:
1、New Branch:新建分支
2、Switch to Branch 切換到目標(biāo)分支
3、Merge from Branch 將目標(biāo)分支合并到當(dāng)前分支
4、Merge into Branch 將當(dāng)前分支合并到目標(biāo)分支
5、Configure 配置信息
其中默認(rèn)最開(kāi)始的新建的工程為主分支master
5、接下來(lái)看下操作的效果圖
(1)新建2個(gè)分支:Source Control->GitDemo(工程名)->New Branch,分別創(chuàng)建Git-developer和Git-release這兩個(gè)分支
(2)切換到Git-developer分支:Source Control->GitDemo(工程名)->Switch to Branch,選擇Git-developer
(3)新建GitTest類(lèi),此時(shí)當(dāng)前版本Git-developer多出GitTest.h和GitTest.m這2個(gè)文件,分別切換到master和Git-release查看發(fā)現(xiàn)都沒(méi)有GitTest.h和.m文件
如下圖:


6、現(xiàn)在developer分支有新的更新,可以把提交這次的更新(注意:切換到developer分支后提交更新)Source Control->commit
在彈出的界面中左側(cè)選中需要提交的文件,在窗口的底部寫(xiě)上更新的描述,點(diǎn)擊右下角的commit Files。這樣就提交完成了一次更新,在Source Control->history可以查看此次的更新。
7、現(xiàn)在可以嘗試將developer分支的更新合并到release和master分支中
Source Control->GitDemo(工程名)->Merge into Branch 選中需要合并到的目標(biāo)分支,分別選擇release和Master分支,點(diǎn)擊右下角merge,這樣就合并完成了。
8、重新切換到release和Master分支,發(fā)現(xiàn)這兩個(gè)分支下面都有剛才新建的GitTest.h和.m這兩個(gè)文件了。
截圖就不上傳了,比較麻煩,操作起來(lái)也比較容易上手,xcode里面git的基本操作就這些。
題外話(huà):一般在開(kāi)發(fā)中,多人合作開(kāi)發(fā)的時(shí)候,版本控制非常重要,所以一定要有穩(wěn)定的主分支Master,開(kāi)發(fā)功能的分支developer,預(yù)發(fā)布的分支release這三個(gè)重要分支。每次有新功能和需求的時(shí)候每個(gè)開(kāi)發(fā)人員就從developer分支分別拉取項(xiàng)目開(kāi)發(fā),最后合并入developer,功能完成后就并入release,修改bug時(shí)在release分支操作,修復(fù)完成后分別并入Master和developer分支,最后從Master分支拉取最終的代碼打包上傳APP Store。參考鏈接