在TortoiseSVN管理的項目中刪除文件的方法:
1. 在客戶(hù)端按delete刪除(OS中刪除,不通過(guò)SVN)
● 未提交之前一旦Update則被刪除的文件立刻回來(lái)。
● 在revert反刪除工具中不顯示(其實(shí)SVN并不知道刪除了這個(gè)文件)。
● 在此狀態(tài)下提交會(huì )提示該文件的狀態(tài)為missing。
○ 如果勾選missing的文件提交,則刪除操作被提交到容器,容器中該文件也被刪除。
這時(shí)候當然Update也不會(huì )回來(lái)了,只能從OS中恢復刪除。
○ 恢復刪除后再次提交,則追加該文件到容器。
○ 如果不勾選missing文件提交,則容器中不會(huì )刪除該文件。
●
2. 在客戶(hù)端右鍵點(diǎn)擊文件,通過(guò)SVN的Delete刪除
● 未提交之前即使Update也不會(huì )回來(lái)(SVN已經(jīng)知道客戶(hù)端刪除了該文件)
● 打開(kāi)revert工具,其中顯示該文件的狀態(tài)為deleted。勾選該文件點(diǎn)擊OK則該文件即被恢復。
● 在此狀態(tài)下提交會(huì )提示該文件的狀態(tài)為deleted。
○ 若勾選deleted的文件后提交,則刪除操作提交到容器,容器中該文件也被刪除。
這時(shí)候revert工具中也不再顯示該文件,OS中也無(wú)法恢復刪除。
○ 若不勾選deleted文件提交,則容器無(wú)變化。
○ 提交刪除后要恢復該文件:
1. 在show log中找到刪除前的版本,右擊該版本,選擇revert to this version。假如刪除前版本為10,
容器中最新版本為15,則要將客戶(hù)端拷貝恢復到10,刪除掉的文件就會(huì )被追加回來(lái)。
而此時(shí)容器中卻還保持著(zhù)版本15。所以客戶(hù)端顯示該文件的圖標為 “+” ,即相對于容器多出來(lái)的文件。
如果要將容器也恢復到刪除前的版本,可以提交一下,然后update,之后會(huì )發(fā)現容器中也恢復了該文件,
同時(shí)版本變?yōu)?6。
2. 通過(guò) update to version 更新到刪除前的版本(同上假設為10)。和上例的區別是多出來(lái)的文件不會(huì )提交
到最新版本。 而一旦再次update最新版本(版本15),該文件就再次被刪除。
3. 在show log中找到刪除前的版本,右擊該版本,選擇check out,重新簽出該版本。與2類(lèi)似。
3. 在repo-browser中右擊該文件選擇刪除
● 這會(huì )直接從容器中刪除該文件。刪除后容器版本立即增加1。
● 客戶(hù)端update之后會(huì )同步刪除該文件。
● 可在show log工具中恢復,方法同上。