在前面第九節(jié),我們已經(jīng)把本地的工作副本更新為何版本庫(kù)的最新版本了,現(xiàn)在我們本地對(duì)這些資源所做的任何修改都將“處于SVN的監(jiān)視之下”。
但是很快我們發(fā)現(xiàn)有些資源其實(shí)并不需要進(jìn)行版本控制。例如:Web應(yīng)用下的WEB-INF/classes目錄,或者日志目錄下的日志文件。但是現(xiàn)在這些文件都被我們加入到版本控制了。要如何取消呢?
忽略已版本控制的資源分為三種情況:
A.針對(duì)單個(gè)文件的
B.針對(duì)多個(gè)文件的
C.針對(duì)整個(gè)目錄的
先來看看如何忽略ECoupon目錄下的my_VPN.txt文件的版本控制。





Step 1: 把文件my_VPN.txt備份到其他位置


Step 2: 把版本庫(kù)對(duì)應(yīng)的my_VPN.txt文件刪除



Step 3: 從版本庫(kù)更新到本地工作副本


Step 4: 把文件my_VPN.txt拷貝回原有位置


Step 5: 把my_VPN.txt添加到SVN的全局屬性svn:ignore









請(qǐng)注意:在我們沒有添加忽略列表之前,svn status的輸出中第2行前面是一個(gè)“?”,這表示SVN不知道該文件的狀態(tài):即它既不屬于版本控制的狀態(tài),也不在忽略列表之中。
使用propset這個(gè)命令,設(shè)置svn:ignore屬性。my_VPN.txt是要忽略的對(duì)象的名字,E:\Temp\ECoupon\是要忽略的資源所在的的位置。
當(dāng)我們?cè)俅螆?zhí)行svn status命令后,發(fā)現(xiàn)此時(shí)SVN已經(jīng)不再關(guān)注my_VPN.txt文件了。如果此時(shí)我們執(zhí)行以下命令,就會(huì)看到my_VPN.txt確實(shí)已經(jīng)被加入忽略列表了


那是不是到這里就算大功告成了呢?不!還記得我們剛剛執(zhí)行過的svn propset命令嗎?它已經(jīng)改變了本地工作拷貝的屬性,對(duì)于SVN來說不管是資源內(nèi)容發(fā)生改變,還是資源的屬性發(fā)生改變,都需要報(bào)知SVN,所以我們還得再執(zhí)行一次commit命令。
Step 6: 提交屬性變更







最后還是提醒一句“不管你對(duì)本地工作副本做了什么變更,是內(nèi)容用好,是屬性也好。如果要讓改變真正有效必須記得提交”
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。