在版控系統中任何的異動都會造成一個版本,這是很基本的觀念,版控中對於「移動」和「更名」這些很自然的基本操作確有者一些特殊的操作流程,目的只是為了保留版本歷史記錄,剛開始接觸到的時候很容易做錯或者根本不知道有錯,因此本篇會來介紹版控中「移動」和「更名」的使用方式。
首先介紹的是「更名」的作法,就拿之前範例所產生出來的檔案執行重新命名的動作
你會發現重新命名後代表版本控管的圖示不見了
立刻執行送交(Commit)看看會發生什麼事情
上圖的清單看的懂嗎?這表示你已經把「新文字文件.txt」刪除了,並且增加了一個還沒受到版控的「新文字文件更名後.txt」這完全不是我們想要的重新命名效果,假設我們是個版控新手,真的把這異動送交(Commit)出去就會造成「新文字文件.txt」的 Log 從此斷掉,往後你會看 Log 的時候就很容易因為這斷掉的 Log 而找不到源頭了
正確的重新命名步驟是對要重新命名的檔案按「滑鼠右鍵」→「TortoiseSVN」→「Rename」
跳出修改名稱的對話方塊
檔案就會變成有兩個
看起來好像差不多,但是送交(Commit)後大不同哩
利用這種方式的重新命名可以確保原檔案名所屬的 Log 都會完整的留在新名稱的檔案上,因此建議在有需要重新命名的時候務必使用正規作法!
※請注意:前面有提到 SVN Server 對大小寫敏感,所以請不要修改檔案的大小寫,如果真的改了請將檔案刪除後再次 Update。
另一個經常會錯誤的動作就是「移動」錯誤的移動也是會造成 Log 的中斷,在版控中錯誤的移動就是我們平常移動的方式所以就不示範了,直接示範正確的移動方式,請使用「滑鼠右鍵」→來拖曳檔案到你要移動的目的地後放開滑鼠右鍵。
正確的操作後就會顯示 SVN 的快顯功能表
請選擇你是要「移動」還是「複製」利用這種方式的「移動」「複製」才可以完整的保留 Log 歷程,在使用了版控後請一定要注意。