Subversion 允許重新命名和移動檔案及資料夾。因此在 TortoiseSVN 子選單中有刪除和重新命名的選單項目。
使用
→ 從 Subversion 移除檔案或資料夾。當您 “已修改” 圖示覆蓋層。在您提交變更之前,您可以使用父資料夾上的 → 來取回檔案。
→ 檔案或資料夾時,它會立即從您的工作副本中移除,並在下次提交時標記為在儲存庫中刪除。該項目的父資料夾會顯示一個如果您想從儲存庫中刪除某個項目,但在本機上將其保留為未版本控制的檔案/資料夾,請使用 Shift 鍵並在項目上按下滑鼠右鍵,才能在延伸右鍵選單中看到此選項。
→ 。您必須在檔案總管清單窗格(右窗格)中,按住如果項目是透過檔案總管刪除,而不是使用 TortoiseSVN 右鍵選單,則提交對話方塊會將這些項目顯示為遺失,並讓您在提交之前也將它們從版本控制中移除。但是,如果您更新您的工作副本,Subversion 會發現遺失的項目,並將其替換為儲存庫中的最新版本。如果您需要刪除版本控制的檔案,請務必使用
→ ,這樣 Subversion 就不必猜測您真正想做什麼。如果您已刪除檔案或資料夾,並且已經將該刪除操作提交到儲存庫,那麼正常的
→ 就無法再將其取回。但檔案或資料夾根本沒有遺失。如果您知道檔案或資料夾被刪除的版本(如果您不知道,請使用記錄對話方塊來找出),請開啟儲存庫瀏覽器並切換到該版本。然後選擇您刪除的檔案或資料夾,按下滑鼠右鍵並選擇 → 作為該複製操作的目標,選擇您的工作副本路徑。如果您想對檔案或資料夾進行簡單的原地重新命名,請使用
→ 。輸入項目的新名稱,就完成了。如果您想在您的工作副本中移動檔案,例如移動到不同的子資料夾,請使用滑鼠右鍵拖放處理程序
選取您要移動的檔案或目錄
按住滑鼠右鍵拖曳 它們到工作副本內的新位置
放開滑鼠右鍵
在彈出選單中選擇
→
由於重新命名和移動是透過刪除後新增來完成的,您必須提交重新命名/移動檔案的父資料夾,以便重新命名/移動的刪除部分會顯示在提交對話方塊中。如果您不提交重新命名/移動的移除部分,它將會留在儲存庫中,當您的同事更新時,舊檔案將不會被移除。也就是說,他們將同時擁有舊的和新的副本。
您必須在變更資料夾內的任何檔案之前提交資料夾重新命名,否則您的工作副本可能會變得非常混亂。
移動或複製檔案的另一種方法是使用 Windows 複製/剪下命令。選取您要複製的檔案,按下滑鼠右鍵並從檔案總管右鍵選單中選擇
→ 。然後瀏覽到目標資料夾,按下滑鼠右鍵並選擇 → 。對於移動檔案,選擇 → 而不是 → 。您也可以使用儲存庫瀏覽器來移動項目。請閱讀 名為「儲存庫瀏覽器」的章節 以了解更多資訊。
您不應該對使用 svn:externals
建立的資料夾使用 TortoiseSVN 移動 或 重新命名 命令。此操作會導致外部項目從其父儲存庫中刪除,可能會讓許多其他人感到困擾。如果您需要移動外部資料夾,您應該使用普通的 shell 移動,然後調整來源和目標父資料夾的 svn:externals
屬性。
如果儲存庫已經包含兩個名稱相同但僅大小寫不同的檔案(例如 TEST.TXT
和 test.txt
),您將無法在 Windows 用戶端上更新或檢出父目錄。雖然 Subversion 支援區分大小寫的檔案名稱,但 Windows 不支援。
當兩個人從不同的工作副本提交檔案時,有時會發生這種情況,這些檔案恰好具有相同的名稱,但大小寫不同。當檔案從具有區分大小寫檔案系統的系統(如 Linux)提交時,也可能發生這種情況。
在這種情況下,您必須決定要保留哪個檔案並從儲存庫中刪除(或重新命名)另一個檔案。
在以下位置有一個伺服器 hook 腳本可用: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ ,它將防止導致大小寫衝突的簽入。
有時您的友善 IDE 會在重構練習中為您重新命名檔案,當然它不會告訴 Subversion。如果您嘗試提交您的變更,Subversion 會將舊檔案名稱視為遺失,而將新檔案名稱視為未版本控制的檔案。您可以只勾選新檔案名稱以將其新增進來,但這樣您將遺失歷史追蹤,因為 Subversion 不知道這些檔案是相關的。
更好的方法是通知 Subversion 此變更實際上是重新命名,您可以在 提交 和 檢查修改 對話方塊中執行此操作。只需選取舊名稱(遺失)和新名稱(未版本控制),然後使用 → 將這兩個檔案配對為重新命名。
通常,您會設定您的忽略清單,以便在 Subversion 中忽略所有產生的檔案。但是,如果您想清除所有這些忽略的項目以產生乾淨的建置,該怎麼辦?通常您會在您的 makefile 中設定它,但如果您正在偵錯 makefile,或變更建置系統,則有一個清除所有內容的方法會很有用。
TortoiseSVN 提供了這樣一個選項,使用 Shift 並在資料夾上按下滑鼠右鍵,才能在延伸右鍵選單中看到此選項。這將產生一個對話方塊,其中列出您的工作副本中任何位置的所有未版本控制的檔案。然後您可以選取或取消選取要移除的項目。
→ 。您必須在檔案總管清單窗格(右窗格)中,按住當刪除這些項目時,會使用資源回收筒,因此如果您在這裡犯了錯誤並刪除了應該進行版本控制的檔案,您仍然可以還原它。