svn——svn commit 用法

使用svn進行代碼的提交有兩種方法:一種是通過TortoiseSVN客戶端界面進行提交,另一種是通過svn commit指令提交。

方法一:通過TortoiseSVN客戶端界面提交代碼

在需要提交代碼的目錄下右鍵,點擊SVN Commit...

此時會進入SVN的Commit界面,在[Message]處填寫需要備註的信息,在Changes made區域選中需要提交的文件,最後點擊OK即可提交。提交後會彈出一個框提示是否提交成功。

提交完成後若想查看是否提交成功,可以在提交目錄下右鍵 -> TortoisesSVN -> show log 查看代碼提交記錄,有提交記錄即爲提交成功。

方法二:通過svn commit path -m"Message"提交代碼(path爲需要提交的文件路徑,Message爲需要填寫的備註信息)

我這裏是通過XShell工具連接服務器後進行commit的。

首先cd 到需要提交代碼的目錄下,然後執行 svn status(查看本地文件和版本庫裏面的文件的區別)

從上圖可以看出本地的MainActivity.java文件和main.xml文件相對於服務器中的版本是修改過的,而第一行的png圖片在服務器中的版本是沒有的,狀態顯示爲?則爲未加到版本控制中的意思。如果此時svn commit,main.xml和MainActivity.java文件會上傳,而png圖片則不會上傳。

可是對於png圖片我也是想添加進項目中的,這時候就需要執行svn add path1 path2(多個路徑)

svn add path就是將path下的文件加入到本地的版本庫中,此時再次執行svn status的話會看到剛纔svn add的文件前面的標記不是?而是A了,表示已經成功把此文件添加到版本控制中。

最後一步是執行 svn commit path1 path2 -m"Message"

執行後會顯示出結果,如上圖,Adding就是已添加,Sending就是已替換文件。

在完成提交之後,就可以通過 svn log 來查看提交日誌信息。

可以看到剛纔提交的741版本已經顯示出來了。

另:如果svn status後看到有的文件已經被自己修改,或者被自己手動納入版本控制了,但是不想commit到服務器中的話可以使用svn revert(將本地文件恢復到服務器中的同名文件)

例子:

svn status查看狀態 此時本地文件夾中有三個服務器中沒有的文件

如果想把.project文件納入svn版本控制,執行svn add .project,然後再svn status查看狀態,.project已被納入版本控制

但是如果不想把.project文件納入版本控制了,那麼可以執行 svn revert .project(回滾到服務器上最新的版本,如果需要整個文件夾回滾,則執行 svn revert -R path)

這樣就可以恢復了,後面如果要提交的話再參考上面的方法一二進行操作。

svn add 相關指令

svn add path —— 把path路徑下的文件/文件夾(裏面的文件也包含)全部納入版本控制

svn add folder --non-recursive —— 把文件夾folder納入版本控制,但是folder文件夾裏的文件不添加(non-revursive  不遞歸)

svn add *  —— 把當前目錄所以未添加到版本控制的文件全部添加進去 (如果有文件夾是non-revursive的則不添加該文件夾裏的文件)

svm add * --force —— 把當前目錄所以未添加到版本控制的文件全部添加進去(包括non-revursive的文件夾裏的文件,包括和服務器中存在的相同的文件(將會覆蓋))

svn add . --no-ignore --force —— 把當前目錄下所以未添加的文件(包括.project文件等,不忽略任何文件)添加到版本控制中

 

 

發佈了14 篇原創文章 · 獲贊 0 · 訪問量 3254
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章