iOS開(kāi)發(fā)源代碼管理之SVN簡(jiǎn)介以及SVN服務(wù)器搭建

? ? 在團(tuán)代開(kāi)發(fā)中,我們一定會(huì)接觸到源代碼管理工具一概念的,為什么需要源代碼管理工具?主要是為了解決在軟件開(kāi)發(fā)過(guò)程中,由源代碼引發(fā)的各種蛋疼、繁瑣的問(wèn)題。本篇文章就簡(jiǎn)單介紹一下源代碼管理工具之一的SVN(Subversion)。SVN是為了取代CVS而設(shè)計(jì)出的一種集中式開(kāi)源源代碼管理工具,目前在我國(guó)國(guó)內(nèi)使用率非常之高。

1.SVN的基本操作

? 通過(guò)下面這張圖片我們來(lái)簡(jiǎn)單了解一下VSN基本架構(gòu)

1.如果以類(lèi)來(lái)區(qū)分的話,一共有兩類(lèi)角色,一類(lèi)為左邊的Server,另一類(lèi)為右邊的User。

2.Server翻譯過(guò)來(lái)為服務(wù)器,觀察服務(wù)器左邊有個(gè)SVN repository,翻譯過(guò)來(lái)為SVN倉(cāng)庫(kù),由此引出 ? ?SVN的使用,首先要有個(gè)服務(wù)器,而服務(wù)器里面有個(gè)SVN的倉(cāng)庫(kù),倉(cāng)庫(kù)是用來(lái)存放源代碼來(lái)對(duì)源代碼進(jìn)行管理。

3.如果user1想要服務(wù)器的源代碼,那么需要將服務(wù)器的源代碼下載到user1的本地,通過(guò)svn checkout命令。

4.svn commit :將本地修改的內(nèi)容提交到服務(wù)器(包括添加的和修改的)。

5.svn update:將服務(wù)器最新的代碼下載到本地(如果本地沒(méi)有該文件則下載該文件到本地,如果有文件,就下載沒(méi)有的代碼到本地)。

? ? 提醒: ? ?每天下班前commit "可運(yùn)行版本":寫(xiě)了一天的代碼了,本地存了很多的代碼,這個(gè)時(shí)候一般情況下需要提到服務(wù)器進(jìn)行共享,因?yàn)轫?xiàng)目經(jīng)理可以通過(guò)提交信息間接的知道你今天都做了哪些事情.這里需要注意的一點(diǎn)是要提交一個(gè)可運(yùn)行的版本,如果提交的command +B編譯錯(cuò)的版本,這個(gè)時(shí)候如果其他同事更新也會(huì)把錯(cuò)誤的版本更新到本地,就會(huì)造成編譯報(bào)錯(cuò),就沒(méi)有辦法繼續(xù)開(kāi)發(fā)了,只有你這里修改到可運(yùn)行的版本,之后同事再更新,這會(huì)大大的浪費(fèi)時(shí)間,并且降低工作效率。

2.SVN使用的環(huán)境


1.服務(wù)器:

*作用:用于存儲(chǔ)客戶(hù)端的源代碼

*安裝:在window上面安裝visual SVN Server就可以了

*補(bǔ)充:一般情況下,公司里的開(kāi)發(fā)人員不必親自搭建服務(wù)器,一般由項(xiàng)目經(jīng)理或者技術(shù)總監(jiān)來(lái)做,但是我們也有可能會(huì)坐上這樣的崗位,所以也會(huì)演示


2.客戶(hù)端:

*作用:將本地的源代碼上傳到服務(wù)器,或者更新服務(wù)器的源代碼到本地保持同步

*安裝:可以在mac上面使用命令行

? ? ? ? ?Versions(可以在MAC上使用的SVN客戶(hù)端,對(duì)命令行封裝,功能簡(jiǎn)潔易用)

? ? ? ? ?cornerstone(可以在MAC上使用的SVN客戶(hù)端,對(duì)命令行的封裝,好用且功能強(qiáng)大,也目前用的最多的)

? ? ? ? ? Xcode,隨著xcode升級(jí),xcode對(duì)SVN的集成越來(lái)越好,也可以使用xcode來(lái)操作svn,其實(shí)本質(zhì)也是對(duì)命令行的封裝

3.SVN服務(wù)器的搭建

一.前提準(zhǔn)備

1.如果是在mac上面進(jìn)行演示,需要在MAC上安裝windows虛擬機(jī)

2.軟件:visual SVN Server,windows軟件,一般安裝最新版的

二.開(kāi)始安裝

1.將軟件放到MAC的桌面,并讓虛擬機(jī)共享桌面的內(nèi)容

2.在虛擬機(jī)中雙擊軟件

3.遵守協(xié)議,點(diǎn)擊next


4.選擇需要安裝的組件,點(diǎn)擊next


5.選擇版本為標(biāo)準(zhǔn)版本(點(diǎn)擊standard Edition)


6.設(shè)置軟件安裝地址,代碼倉(cāng)庫(kù)地址,以及傳輸協(xié)議


7.安裝成功后,選擇點(diǎn)擊finish后打開(kāi)該應(yīng)用程序


8.打開(kāi)后的界面

二.演示添加代碼倉(cāng)庫(kù)

1.比如開(kāi)發(fā)一款微信軟件,那么需要一個(gè)微信的代碼倉(cāng)庫(kù)

2.右鍵Repositories,單擊選中Create New Repository

3.填寫(xiě)項(xiàng)目名稱(chēng),點(diǎn)擊next

4.新人學(xué)習(xí)先選擇創(chuàng)建一個(gè)空的代碼倉(cāng)庫(kù),點(diǎn)擊next

5.配置訪問(wèn)權(quán)限,選擇沒(méi)有人可以訪問(wèn),點(diǎn)擊Create

6.創(chuàng)建成功后的顯示

7.一般情況下,代碼倉(cāng)庫(kù)里面不是什么都沒(méi)有的,創(chuàng)建文件夾

a.右鍵weChat,選擇新建,單擊folder


b.創(chuàng)建一個(gè)code文件夾(用于存放代碼)再創(chuàng)建一個(gè)doc文件(用于存放文檔信息)


c.創(chuàng)建成功后在代碼倉(cāng)庫(kù)中就能看到這兩個(gè)文件夾

8.剛在創(chuàng)建代碼倉(cāng)庫(kù)時(shí)設(shè)置沒(méi)有人可以訪問(wèn),需要設(shè)置人員進(jìn)行訪問(wèn),右鍵User,單擊Create User

9.填入用戶(hù)名和密碼,之后點(diǎn)擊OK,添加經(jīng)理,張三,李四三個(gè)用戶(hù)

10.創(chuàng)建完之后,來(lái)到Users,可以查看當(dāng)前所有用戶(hù)

11.設(shè)置經(jīng)理,張三,李四可以訪問(wèn)微信代碼倉(cāng)庫(kù)

a.右鍵weChat,單擊Properties

b.點(diǎn)擊Add,用戶(hù)添加用戶(hù)或者組

c.點(diǎn)擊張三,李四,經(jīng)理點(diǎn)擊ok,并且這里也可以點(diǎn)擊Create user來(lái)創(chuàng)建用戶(hù),步驟與上述創(chuàng)建步驟一致

d.設(shè)置所有用戶(hù)可讀也可寫(xiě),之后點(diǎn)擊確定

12.剛剛演示的是創(chuàng)建用戶(hù),下面來(lái)演示創(chuàng)建組,如果一個(gè)項(xiàng)目是多人開(kāi)發(fā),那么將開(kāi)發(fā)此項(xiàng)目的所有的人員都加入到一個(gè)組中,那么更利于管理

a.右鍵Groups,點(diǎn)擊選擇Create Group

b.單擊add,將所有成員添加到Members中

c.輸入組名為weChat,點(diǎn)擊OK,這樣就將張三李四經(jīng)理添加到了微信組

d.如果某一個(gè)微信項(xiàng)目做完了,這個(gè)時(shí)候需要開(kāi)發(fā)陌陌項(xiàng)目,那么可以創(chuàng)建一個(gè)陌陌項(xiàng)目,讓微信組的所有成員來(lái)開(kāi)發(fā)陌陌,只需要,設(shè)置所有微信組的成員來(lái)訪問(wèn)陌陌(創(chuàng)建一個(gè)空的momo項(xiàng)目并任何人都不能訪問(wèn)),右鍵momo項(xiàng)目,選擇properties,點(diǎn)擊add,選中Groups下面的weChat,點(diǎn)擊OK

e.選擇weChat組,并選中read/write,之后點(diǎn)擊確定,這樣wechat組的所有成員都可以訪問(wèn)momo了(演示完后,momo不需要右鍵直接刪除)

12.目前代碼倉(cāng)庫(kù)創(chuàng)建好了,也創(chuàng)建用戶(hù)可以訪問(wèn)代碼倉(cāng)庫(kù),下面來(lái)測(cè)試下如何進(jìn)行訪問(wèn),右鍵weChat,選擇Copy URL to Clipboard(復(fù)制到剪貼板中)

13.先嘗試在虛擬機(jī)的IE瀏覽器中進(jìn)行訪問(wèn),訪問(wèn)后彈出一個(gè)彈框,這里需要輸入帳號(hào)和密碼(因?yàn)樵搨}(cāng)庫(kù)不是誰(shuí)都能訪問(wèn)的),輸入經(jīng)理的用戶(hù)名和密碼點(diǎn)擊確定

14.訪問(wèn)成功后可以在瀏覽器中看到當(dāng)前代碼倉(cāng)庫(kù)中有哪些東西

15.需求為在MAC電腦上訪問(wèn)虛擬機(jī)的代碼倉(cāng)庫(kù),嘗試在MAC電腦上訪問(wèn)此URL,發(fā)現(xiàn)無(wú)法訪問(wèn)(因?yàn)樵L問(wèn)的為主機(jī)名,在虛擬機(jī),IE知道我的主機(jī)名,而MAC中不知道這是什么東西,所以無(wú)法訪問(wèn))

16.將主機(jī)名換為Windows的ip地址就可以進(jìn)行訪問(wèn)了

a.通過(guò)點(diǎn)擊開(kāi)始->運(yùn)行->輸入cmd打開(kāi)終端,輸入ipconfig

b.將主機(jī)名換成ip地址,在MAC的Safari上進(jìn)行訪問(wèn),彈框需要輸入帳號(hào)密碼,說(shuō)明可以進(jìn)行訪問(wèn),輸入經(jīng)理的帳號(hào)和密碼,點(diǎn)擊登錄

c.登錄成功之后,可以在此看到,服務(wù)器的代碼倉(cāng)庫(kù)里都有些什么東西

17.總結(jié):

a.安裝visual SVN Server軟件

b.創(chuàng)建代碼倉(cāng)庫(kù)

c.創(chuàng)建用戶(hù),設(shè)置用戶(hù)權(quán)限

d.創(chuàng)建組,設(shè)置組的權(quán)限

e.MAC電腦訪問(wèn)虛擬機(jī)的SVN服務(wù)器中的代碼倉(cāng)庫(kù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,119評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,382評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,038評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,853評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,616評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,112評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,192評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,355評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,869評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,727評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,928評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,467評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,165評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,570評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,813評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,585評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,892評(píng)論 2 372

推薦閱讀更多精彩內(nèi)容