新手常常用不好svn,老是沖突或是刪不掉多余文件一更新在文件夾里又會有,對項目里面的錯亂文件也不敢輕易更改目錄。
下面我就一步步分享一下自己是怎么隨意使用svn的,最后分享一個絕招。
第一篇:svn提交
Tools文件夾下文件非常亂,項目結(jié)構(gòu)與文件結(jié)構(gòu)如下圖。
下面的演示是將Tools文件夾下的LXHelpClass.h與LXHelpClass.m文件移動到class/Tool/Help下,我將步驟分為兩大步驟:svn提交前準(zhǔn)備與svn提交。
第一步: svn提交前準(zhǔn)備
1.在項目上雙擊LXHelpClass.h,在彈出菜單中選中Show in Finder,會來到具體的文件目錄下.
2.將LXHelpClass.h與LXHelpClass.m文件托送到class/Tool/Help下的過程(必須在文件里操作不能在項目里拖動,不然將會出現(xiàn)兩份一樣的文件)。
3.現(xiàn)在看項目的結(jié)構(gòu)如圖。
4.將class/Tool/Help文件夾下的LXHelpClass.h與LXHelpClass.m文件add到項目結(jié)構(gòu)class/Tool/Help中。(僅這一步在文件夾里拖文件到項目中也是可以的)
5.在項目中選中Tools下報紅的LXHelpClass.h與LXHelpClass.m文件,然后按鍵盤上的delete鍵可直接刪除。注意看LXHelpClass.h與LXHelpClass.m后面有一個問號。
目前svn操作前的處理已經(jīng)完成,然后就是提交了。
我這里直接使用的Xcode集成好的svn,Xcode版本是7.3.1
第二步:svn提交
1.commit提交,看圖。
2.待提交文件界面,默認(rèn)沒有選擇提交LXHelpClass.h文件,須雙擊提交目錄,然后彈出菜單選擇Check All. (注意:1.在提交目錄中有兩組LXHelpClass.h與LXHelpClass.m,在其后分別有“?與!”標(biāo)記。 2.下圖彈出的提交界面左上角tab有三個選項,選擇的是中間的tab)
3.在下方輸入提交備注信息,然后點(diǎn)擊右下角 Commit 23 Files 按鈕。然后提示"*** is not under version control (1)",這就對了,別怕。(提交文件后面跟隨有“?或!”的時候是會提交失敗的)
4.點(diǎn)擊右下方的cancle取消按鈕,然后再跟隨第一步的commit提交,接著提交界面就改變成下面這樣了,發(fā)現(xiàn)啥改變了嗎?之前的LXHelpClass.h后面的“?與!”相應(yīng)改變成了“A與D”。
5.點(diǎn)擊右下角 Commit 6 Files 按鈕,哇哇哇,Successful!!!然后看一下項目結(jié)構(gòu)中LXHelpClass.h與LXHelpClass.m后面的“?”也消失了,這就對了。
6.最后驗證是否刪掉了舊目錄,生成了新目錄。再show in finder進(jìn)入文件夾檢查一下Tools文件夾里是不是沒有LXHelpClass.h與LXHelpClass.m,class/Tool/Help文件夾里是有LXHelpClass.h與LXHelpClass.m的。然后再點(diǎn)擊工具欄里的下拉菜單update按鈕,查看是否還正確。最后一步驗證特別重要,重新checkout一個路徑下載項目,查看文件夾結(jié)構(gòu)是否對應(yīng)正確。若按照上面的步驟完成的提交,那么一定是正確的。
- 現(xiàn)在已經(jīng)順利完成了挪動項目里的文件結(jié)構(gòu),有了清晰的文件結(jié)構(gòu)便于查找,整理,維護(hù)。
- 接下來是不是該大膽的更改你現(xiàn)有項目中錯亂的文件位置,第一大步驟svn提交前準(zhǔn)備,可先整理完所有的需挪動的文件夾與文件,然后再一并commit。(挪動文件夾與文件是一樣的步驟與效果)。
第二篇:svn撤銷
對了,剛開始說的需要分享一下絕招。那就是在開發(fā)時巧妙使用 Discard All Changes 與 DisCard Changes這兩個功能。有了這個絕活你現(xiàn)在可以任意刪除或修改代碼與文件(在試驗這個步驟前請?zhí)峤煌暧杏玫男薷牡拇a),在項目結(jié)構(gòu)中可以看到在修改的文件后面又一個“M”標(biāo)記,然后點(diǎn)擊Discard All Changes選項,將會撤銷所有的修改(包括增刪改文件與代碼),與上次svn操作(包括commit與update)后的代碼一樣。
不知道Discard All Changes 與 DisCard Changes 功能的位置在哪的看圖。
當(dāng)然需要有改動的文件雙擊后才會有DisCard Changes功能,否則它是灰色按鈕,它的功能是撤銷當(dāng)前文件的修改,保持與最后一次svn操作后的代碼一致。同時,也可以使用DisCard Changes上面的Commit與Update功能,也是針對當(dāng)前文件的svn操作。
有了Discard All Changes這個功能還怕項目跑不起來?還怕改錯文件?還怕引入新文件或第三方庫導(dǎo)致項目報錯嗎?哈哈,錯了就直接Discard All Changes。一定要保證每次提交到svn時的項目能夠正常運(yùn)行。