1.出現這個問題后使用“清理”即"Clean up"功能,如果還不行,就直接到上一級目錄,再執行“清理”,然后再“更新”。
2.有時候如果看到某個包里面的文件夾沒有SVN的標志,直接用“Ctrl+Delete”手工刪除,然后“清理”,最后“更新”或“提交”。
3.有時候有的文件死活無法提交和更新,有lock字樣的提示,:首先點擊該文件,然后getLock,再選中stealLock,然后release lock即可
svn介紹
檢出(Checkout):
從版本庫取出一個新版本。
提交(Commit):
將對工作副本的修改發送給版本庫。
更新(Update):
下載最新版本庫文件的記錄。
鎖定-修改-解鎖:
1. 一定時間段版本庫的一個文件只允許一個人修改,直至解鎖。
2. 鎖定(Get lock),解鎖(Release lock)
還原(Revert):
取消最近一次的操作(只針對客戶端,服務端不做改動)。
更新到特定版本(Update to revision):
本地文件副本,更新為服務器上的指定版本。
重命名(Rename):
對已經納入svn管理的文件進行重命名。
添加(Add):
把文件添加到SVN,即將文件納入SVN管理。
刪除(Delete):
對已近納入SVN管理的文件進行刪除。
清理(Clean up):
SVN更新時,由於一些操作中斷更新(磁盤空間不夠等),可能會造成本地文件被鎖定的情況,
解決方法:
1. 使用clean up來清除鎖定。
2. 若不是本目錄,往上層目錄尋找直至根目錄。
3. 有時,根目錄都無法clean up,則另選目錄重新Check out。
4. 如果覺得第3種很麻煩,可以考慮這樣的方法。
其實SVN加鎖會在.svn(隱藏文件)中生成一個名字叫lock的文件(無后綴),查找所有的,手工刪除。
然后再嘗試更新,系統可能會提示某個.base文件無法訪問。
找到它,把相關的文件或其所在的目錄刪除,重新更新,工作量就小多了。
分支/基線(Branch/Tag):
SVN的項目目錄下,有3個子目錄:trunk, branch, tag
1. trunk: trunk目錄是主目錄,即工作目錄。絕大部分提交、更新操作都發生在這個目錄。
2. branch: branch目錄是分支目錄,存放當前開發版本的分支版本。
3. tag: tag目錄是基線目錄,存放已經發布的版本或者重要的基線目錄。這個目錄為只讀。
如果有bug需要修改,則需要創建基線目錄的分支目錄來修改。
重定位(Relocate):
有時服務器的地址改變了,利用relocate來重新定位服務器的地址。
svn的版本號是如何迭代的?
4個規則:
1. 版本號從1開始迭代,每次提交使版本號增1.
2. 每個受版本控制的文件有自己的版本歷史,其第一個版本號為加入時版本庫的版本號。
3. 版本庫的版本號 = 目前所有受版本控制的文件版本號的最大值。
4. 版本庫的版本號是連續的,文件版本號非連續。
Checkout和Export的差異?
Checkout出的內容受版本控制,Export出的內容不受版本控制。