1. 程式人生 > >svn client命令

svn client命令

because 步驟 eth htm 了解 merge 放棄 tracking 項目

經常使用svn命令說明

1、從SVN倉庫中檢索出代碼到工作拷貝:


# svn checkout https://svn.sinaapp.com/appname [workcopy]

當中workcopy是可選的,假設不寫workcopy,SVN會默認將appname做為workcopy。

假設僅僅檢索某個版本號:

# svn checkout https://svn.sinaapp.com/appname/appversion [workcopy]

僅僅檢索某個版本號的某個文件夾:

# svn checkout https://svn.sinaapp.com/appname/appversion/folder [workcopy]

2、向SVN倉庫提交代碼:


# svn commit -m "here is message"

3、將本地文件加入到工作拷貝:

# svn add something

註:假設something為文件,svn會將這個文件加入到工作拷貝;假設something是文件夾。svn會將文件夾及裏面的文件全加入到工作 拷貝。something也能夠是通配符*,這樣會忽略已經加入過的文件。

4、從工作拷貝中刪除一個文件:

# svn delete something

註:假設something為文件,svn會將這個文件從工作拷貝中刪除;假設something是文件夾,svn會將文件夾及裏面的文件所有從工作 拷貝中刪除。

5、直接從SVN倉庫中刪除文件:


# svn delete -m "delete something" https://svn.sinaapp.com/appname/appversion/something

註:能夠從SVN倉庫中直接刪除單個文件或單個文件夾甚至某個版本號。



6、將一個本地項目導入到SVN倉庫:

導入應用的某個版本號:

# svn import localdir https://svn.sinaapp.com/appname/appversion

註:要確保眼下應用的appversion不沖突。



7、查看工作拷貝中的文件或文件夾狀態:

# svn status [something]

8、更新自己的工作拷貝:



# svn update

註:從SVN倉庫下載最新版本號。此命令會導致本地沒有提交的更改丟失,建議使用此命令前先查看一下本地拷貝狀態(svn status).

9、取消對代碼改動

取消對代碼的改動分為兩種情況。



第一種情況:修改沒有被提交(commit)。

這樣的情況下,使用svn revert就能取消之前的改動。



svn revert使用方法例如以下:

# svn revert [-R] something

當中something能夠是(文件夾或文件的)相對路徑也能夠是絕對路徑。

當something為單個文件時,直接svn revert something即可了。當something為文件夾時。須要加上參數-R(Recursive,遞歸),否則 僅僅會將something這個文件夾的修改。

在這樣的情況下也能夠使用svn update命令來取消對之前的改動,但不建議使用。

由於svn update會去連接倉庫server,耗費時間。



註意:svn revert本身有固有的危急,由於它的目的是放棄未提交的改動。一旦你選擇了恢復,Subversion沒有方法找回未提交的修 改。

另外一種情況:修改已經被提交(commit)。這樣的情況下,用svn merge命令來進行回滾。



回滾的操作步驟例如以下:


1) 保證我們拿到的是最新代碼:

svn update

如果最新版本是28。

2) 然後找出要回滾的確切版本:

svn log [something]

如果依據svn log日誌查出要回滾的版本是25,此處的something能夠是文件、文件夾或整個項目

假設想要更具體的了解情況,能夠使用svn diff -r 28:25 [something]

3) 回滾到版本25:

svn merge -r 28:25 something

為了保險起見,再次確認回滾的結果:

svn diff [something]

發現正確無誤,提交。

4) 提交回滾:

svn commit -m "Revert revision from r28 to r25,because of ..."

提交後版本號變成了29。

將以上操作總結為三條例如以下:

a. svn update,svn log,找到最新版本號(latest revision)

b. 找到自己想要回滾的版本(rollbak revision)

c. 用svn merge來回滾: svn merge -r : something

10、查看SVN倉庫日誌信息:

# svn log [workcopy]

查看全部本地的歷史日誌,假設workcopy為某文件。那麽就是查看某個文件的日誌信息。

查看SVN倉庫全部文件的日誌信息:

# svn log https://svn.sinaapp.com/appname/

這個命令會查看全部改動過的日誌。

註:SAE提供的SVN服務全然支持標準SVN的全部命令。更具體的使用說明請查閱SVN官方幫助文檔。



SVN命令幫助文檔:http://www.subversion.org.cn/svnbook/1.4/svn.ref.html

中文全然幫助文檔:http://svnbook.red-bean.com/index.zh.html

svn client命令