1. 程式人生 > >SVN 一次性提交多個目錄中檔案的方法

SVN 一次性提交多個目錄中檔案的方法

情況一:將專案中未加入版本控制的檔案提交到版本庫。 

在使用WINDOW下的SVN客戶端工具時,在提交一個專案的檔案時,如果有未加入版本庫的檔案,這時可以先將未加入的檔案選中,然後一起提交。 

但在LINUX命令列中,如果一個專案中新建立了一個檔案new.php,那麼我們可以使用如下命令來進行版本的提交。 

[email protected] svn add new.php 
[email protected] svn ci -m=hqlong 

但如果有多個檔案時,我一直都是一個一個的新增。比如。有a.php,b.php,c.php.那麼提交操作如下: 

[email protected] svn add a.php,b.php,c.php 
[email protected]
ci -m=hqlong 

一直以後,新新增的檔案不多,所以也就沒有注意這個。今天當我檢視專案的版本狀態時,發現很多檔案都沒有加入版本庫,本想按照老方法一個一個的新增,但始終想著是否有另外一種方式,一次性全部提交。所以就請教了我的兩位大學同學(小黑、楊煌)。答案如下: 
將同一目錄下的未加入版本庫的檔案提交到版本庫。 

[email protected]sh svn add * 

注意上面只是針對同一目錄的檔案,如果目錄下還有目錄,這時上面的命令提交就不行了。如果是二級目錄的話。操作命令如下: 

[email protected] svn add */* 

當然三目錄依次類推。 

[email protected]
svn add */*/* 

那麼如果裡面有很多級目錄,該怎麼辦呢?或者說根本不清楚究竟有多少級。 
這時使用萬用字元“*”,來解決一切未知的答案。 

[email protected] svn add */**/* 

注意上面第三個“*”,它代表了我們所擔心的那個未知數。 

情況二:更新或者提交原始碼時,不提交某一特定檔案。 

當很多人同時開發一個專案,專案的配置檔案可能在不同的開發人員的機器上,會有不同。當每次更新整個專案時,希望更新全部的檔案但除了配置檔案以外。 
又如配置檔案為config.php. 
這時我們可以使用正則來排除我們所不需要提交的程式碼。 
提交程式碼命令如下 

[email protected]
svn ci !(config.php) -m=hqlong 

表示除了config.php以外的程式碼,都提交到版本庫中。 
更新程式碼命令如下 

[email protected] svn up !(config.php) 

表示除了config.php的所有程式碼都更新。