處理空資料夾
git 不識別資料夾的概念,它只適用於檔案及其檔案路徑。這意味著 git 不會跟蹤空資料夾。然而,SVN 確實如此。使用 git-svn 意味著,預設情況下,使用 git 執行涉及空資料夾的任何更改都不會傳播到 SVN 。
發出註釋時使用 --rmdir
標誌可以解決此問題,如果你在本地刪除其中的最後一個檔案,則會刪除 SVN 中的空資料夾:
git svn dcommit --rmdir
不幸的是,它不會刪除現有的空資料夾 :你需要手動執行此操作。
為了避免在每次進行 dcommit 時新增標記,或者如果使用 git GUI 工具(如 SourceTree)可以安全地使用它,則可以使用以下命令將此行為設定為 default:
git config --global svn.rmdir true
這會更改 .gitconfig 檔案並新增以下行:
[svn]
rmdir = true
要刪除所有應保留為 SVN 的未跟蹤檔案和資料夾,請使用 git 命令:
git clean -fd
請注意:上一個命令將刪除所有未跟蹤的檔案和空資料夾,甚至是 SVN 應該跟蹤的檔案! 如果需要生成 againg SVN 跟蹤的空資料夾,請使用該命令
git svn mkdirs
在實踐中,這意味著如果要從未跟蹤的檔案和資料夾中清除工作區,則應始終使用這兩個命令重新建立 SVN 跟蹤的空資料夾:
git clean -fd && git svn mkdirs