Posted on 2012-05-21 10:53
幻海藍(lán)夢(mèng) 閱讀(23121)
評(píng)論(0) 編輯 收藏 所屬分類:
版本管理
情況一:將項(xiàng)目中未加入版本控制的文件提交到版本庫(kù)。
在使用WINDOW下的SVN客戶端工具時(shí),在提交一個(gè)項(xiàng)目的文件時(shí),如果有未加入版本庫(kù)的文件,這時(shí)可以先將未加入的文件選中,然后一起提交。
但在LINUX命令行中,如果一個(gè)項(xiàng)目中新創(chuàng)建了一個(gè)文件new.php,那么我們可以使用如下命令來進(jìn)行版本的提交。
~@bash svn add new.php
~@bash svn ci -m=hqlong
但如果有多個(gè)文件時(shí),我一直都是一個(gè)一個(gè)的添加。比如。有a.php,b.php,c.php.那么提交操作如下:
~@bash svn add a.php,b.php,c.php
~@bash ci -m=hqlong
一直以后,新添加的文件不多,所以也就沒有注意這個(gè)。今天當(dāng)我查看項(xiàng)目的版本狀態(tài)時(shí),發(fā)現(xiàn)很多文件都沒有加入版本庫(kù),本想按照老方法一個(gè)一個(gè)的添加,但始終想著是否有另外一種方式,一次性全部提交。所以就請(qǐng)教了我的兩位大學(xué)同學(xué)(小黑、楊煌)。答案如下:
將同一目錄下的未加入版本庫(kù)的文件提交到版本庫(kù)。
~@bash svn add *
注意上面只是針對(duì)同一目錄的文件,如果目錄下還有目錄,這時(shí)上面的命令提交就不行了。如果是二級(jí)目錄的話。操作命令如下:
~@bash svn add */*
當(dāng)然三目錄依次類推。
~@bash svn add */*/*
那么如果里面有很多級(jí)目錄,該怎么辦呢?或者說根本不清楚究竟有多少級(jí)。
這時(shí)使用通配符“*”,來解決一切未知的答案。
~@bash svn add */**/*
注意上面第三個(gè)“*”,它代表了我們所擔(dān)心的那個(gè)未知數(shù)。
情況二:更新或者提交源碼時(shí),不提交某一特定文件。
當(dāng)很多人同時(shí)開發(fā)一個(gè)項(xiàng)目,項(xiàng)目的配置文件可能在不同的開發(fā)人員的機(jī)器上,會(huì)有不同。當(dāng)每次更新整個(gè)項(xiàng)目時(shí),希望更新全部的文件但除了配置文件以外。
又如配置文件為config.php.
這時(shí)我們可以使用正則來排除我們所不需要提交的代碼。
提交代碼命令如下
~@bash svn ci !(config.php) -m=hqlong
表示除了config.php以外的代碼,都提交到版本庫(kù)中。
更新代碼命令如下
~@bash svn up !(config.php)
表示除了config.php的所有代碼都更新。
原文:http://vaqeteart.iteye.com/blog/832526