一胀莹、SVN命令行演示
1.將服務(wù)器已有的項(xiàng)目下載到本地
svn checkout 服務(wù)器地址 --username=*** --password=***
2.初始化項(xiàng)目
1.touch main.m:創(chuàng)建main.m文件深夯;
2.svn add main.m:將main.m添加到svn的管理之下;
3.svn commit -m "描述" main.m:將main.m上傳到服務(wù)器;
3.查看文件狀態(tài)(查看文件是否在svn的管理之下昵仅,或者是否進(jìn)行了修改而沒有提交)
svn status
- ?:文件不在svn的管理之下退渗;
- A:該文件已經(jīng)添加到svn的管理之下,但是該文件在本地犀勒,并沒有提交到服務(wù)器屎飘;
- M:該文件在本地已經(jīng)修改,但是沒有上傳到服務(wù)器账蓉;
- D:該文件已經(jīng)在本地刪除枚碗,但是服務(wù)器依然有該文件,刪除操作沒有更新到服務(wù)器铸本;
- G:產(chǎn)生沖突后肮雨,更新操作去解決沖突,相當(dāng)于合并箱玷;
4.命令行的簡寫
1.svn checkout --> svn co
2.svn status --> svn st
3.svn commit --> svn ci
4.svn update --> svn up
5.版本回退
5.1 已經(jīng)提交到服務(wù)器的進(jìn)行回退
- 1.svn update -r6:先回退到服務(wù)器中的某個版本(前面的6就是版本號)怨规,看該版本是不是自己想要回退的版本;
- 2.svn update :更新到最新的版本锡足;
- 3.svn merge -r7:6 person.h :就是將person.h文件從版本7回退到版本6波丰;
- 4.svn commit -m "描述信息" :將回退的版本上傳到服務(wù)器;
5.2 只是本地新增的舶得,還沒有更新到服務(wù)器的回退
- 1.svn revert person.h:將本地新增的內(nèi)容(沒有更新到服務(wù)器的內(nèi)容)刪除掰烟;
6.刪除文件
- svn remove person.m:上傳本地文件,也就是說服務(wù)器中還是存在的
2.svn commit -m "描述信息" :上傳到服務(wù)器沐批;
7.查看版本信息
1.svn update :更新服務(wù)器最新的內(nèi)容到本地纫骑,防止查出的信息過期
2.svn log
8.版本沖突
- 1.直接使用svn commit -m “描述”,如果出現(xiàn)out of date:過期九孩,說明本地的版本低于服務(wù)器的版本先馆,必須先使用svn update命令;
- 2.使用svn update出現(xiàn) conflict discover 說明出現(xiàn)本地和服務(wù)器產(chǎn)生沖突
1.df:diff-full--->在命令行中展示所有的不同躺彬;
2.e:edit---->在命令行中來編輯(一般不建議這樣使用煤墙,通常在開發(fā)工具中來解決)梅惯,解決后在命令行中使用r:remove命令告訴服務(wù)器解決完畢;
3.mc:mine-conflict--->用我的本地代碼來覆蓋服務(wù)器的代碼仿野;
4.tc:theirs-conflict--->用服務(wù)器的代碼來覆蓋我的代碼铣减;
5.p:postpone---->延遲解決沖突,它會展示所有的沖突文件设预,在本地手動解決沖突徙歼;解決后,必須使用svn resolved 文件名 命令鳖枕,然后使用svn commit -m "描述" 上傳到服務(wù)器魄梯,然后沖突的另一人使用svn update更新即可;
注意 有效的避免沖突方式:
1.盡量在修改文件之前宾符,先update
2.如果修改公共文件酿秸,最好先和同事溝通一下,讓他先別修改魏烫,修改完后辣苏,通知其更新下
9.在xcode中使用svn的注意點(diǎn)
1.如果使用到靜態(tài)庫需要特別注意,必須使用命令行將靜態(tài)庫添加到svn的管理之下哄褒;
2.如果使用到storyboard也特別注意稀蟋;同時修改一個sb文件會沖突;能使用xlib的盡量使用xlib呐赡;如果在項(xiàng)目中使用了sb退客,盡量保證一個人在使用;