Xcode操作SVN(高級部分)


 

新同事常常用不好svn,老是沖突或是刪不掉多余文件一更新在文件夾里又會有,對項目里面的錯亂文件也不敢輕易更改目錄。

下面我就一步步分享一下自己是怎么隨意使用svn的,最后分享一個絕招。

 

第一篇:svn提交

Tools文件夾下文件非常亂,項目結構與文件結構如下圖。

                                    

 

下面的演示是將Tools文件夾下的LXHelpClass.h與LXHelpClass.m文件移動到class/Tool/Help下,我將步驟分為兩大步驟:svn提交前准備與svn提交。

 

第一步: svn提交前准備

1.在項目上雙擊LXHelpClass.h,在彈出菜單中選中Show in Finder,會來到具體的文件目錄下.

 

2.將LXHelpClass.h與LXHelpClass.m文件托送到class/Tool/Help下的過程(必須在文件里操作不能在項目里拖動,不然將會出現兩份一樣的文件)。

                    

 

3.現在看項目的結構如圖。

 

4.將class/Tool/Help文件夾下的LXHelpClass.h與LXHelpClass.m文件add到項目結構class/Tool/Help中。(僅這一步在文件夾里拖文件到項目中也是可以的)

                       

 

5.在項目中選中Tools下報紅的LXHelpClass.h與LXHelpClass.m文件,然后按鍵盤上的delete鍵可直接刪除。注意看最后一張圖的LXHelpClass.h與LXHelpClass.m后面有一個問號。

 

目前svn操作前的處理已經完成,然后就是提交了。

我這里直接使用的Xcode集成好的svn,Xcode版本是7.3.1

 

第二部:svn提交

1.commit提交,看圖。

 

2.待提交文件界面,默認沒有選擇提交LXHelpClass.h文件,須雙擊提交目錄,然后彈出菜單選擇Check All. (注意:1.在提交目錄中有兩組LXHelpClass.h與LXHelpClass.m,在其后分別有“?與!”標記。 2.下圖彈出的提交界面左上角tab有三個選項,選擇的是中間的tab)

 

3.在下方輸入提交備注信息,然后點擊右下角 Commit 23 Files 按鈕。然后提示"*** is not under version control (1)",這就對了,別怕。(提交文件后面跟隨有“?或!”的時候是會提交失敗的)

 

4.點擊右下方的cancle取消按鈕,然后再跟隨第一步的commit提交,接着提交界面就改變成下面這樣了,發現啥改變了嗎?之前的LXHelpClass.h后面的“?與!”相應改變成了“A與D”。

 

5.點擊右下角 Commit 6 Files 按鈕,哇哇哇,Successful!!!然后看一下項目結構中LXHelpClass.h與LXHelpClass.m后面的“?”也消失了,這就對了。

 

6.最后驗證是否刪掉了舊目錄,生成了新目錄。再show in finder進入文件夾檢查一下Tools文件夾里是不是沒有LXHelpClass.h與LXHelpClass.m,class/Tool/Help文件夾里是有LXHelpClass.h與LXHelpClass.m的。然后再點擊工具欄里的下拉菜單update按鈕,查看是否還正確。最后一步驗證特別重要,重新checkout一個路徑下載項目,查看文件夾結構是否對應正確。若按照上面的步驟完成的提交,那么一定是正確的。

 

現在已經順利完成了挪動項目里的文件結構,有了清晰的文件結構便於查找,整理,維護。

接下來是不是該大膽的更改你現有項目中錯亂的文件位置,第一大步驟svn提交前准備,可先整理完所有的需挪動的文件夾與文件,然后再一並commit。(挪動文件夾與文件是一樣的步驟與效果)。

 

 

第二篇:svn撤銷

對了,剛開始說的需要分享一下絕招。那就是在開發時巧妙使用 Discard All Changes 與 DisCard Changes這兩個功能。有了這個絕活你現在可以任意刪除或修改代碼與文件(在試驗這個步驟前請提交完有用的修改的代碼),在項目結構中可以看到在修改的文件后面又一個“M”標記,然后點擊Discard All Changes選項,將會撤銷所有的修改(包括增刪改文件與代碼),與上次svn操作(包括commit與update)后的代碼一樣。

 

不知道Discard All Changes 與 DisCard Changes 功能的位置在哪的看圖。

                

 

當然需要有改動的文件雙擊后才會有DisCard Changes功能,否則它是灰色按鈕,它的功能是撤銷當前文件的修改,保持與最后一次svn操作后的代碼一致。同事,也可以使用DisCard Changes上面的Commit與Update功能,也是針對當前文件的svn操作。

 

有了Discard All Changes這個功能還怕項目跑不起來?還怕改錯文件?還怕引入新文件或第三方庫導致項目報錯嗎?哈哈,錯了就直接Discard All Changes。一定要保證每次提交到svn時的項目能夠正常運行。

 

 

原創資源,轉載請注明來源

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM