當使用SVN或Git項目的簽出副本的工作,我經常刪除或不使用相應的git mv
,svn rename
,git rm
,或svn delete
命令重命名文件,所以這些變化不會適當地反映在我將我的版本提交回存儲庫。在事實發生之後,是否有一種解決方法可以解決這個問題,除了在我的最後更加謹慎?刪除和重命名文件
刪除和重命名文件
回答
對於Git的,看看git add -A
。這將添加新的或已更改的所有內容,以及刪除不存在的文件。不過,它可能還會添加您不想添加的文件,因此請小心。 由於Git並不跟蹤重命名明確,這已經足夠了(用git commit
在一起)。
對於Subversion,您可以執行類似svn add --force .
的操作,然後執行svn commit
等效操作,但這不會正確地跟蹤重命名/移動操作。我認爲找出哪些文件被重命名(也可能更改)以及哪些文件被簡單地添加/刪除並不是微不足道的。
Git中,如果你已刪除的文件,你可以使用git commit -a
並承諾將反映刪除,而不必做git rm
像TortoiseSVN和TortoiseGit這樣的Gui工具對於這樣的事情很聰明,而且在使用這些工具時通常不需要進行顯式刪除和重命名。
感謝 - 我用'git的承諾-a'但似乎並沒有刪除我的舊文件... – hatmatrix 2011-05-09 09:59:56
使用git,git mv
只是一個方便的別名,相當於在舊文件上移動文件並對git rm
執行操作。如果你省略了這個,結果是你刪除了原始文件,git會注意到,並添加了一個新文件,git將忽略,因爲你沒有調用git add
。 git rm
與此類似。
這是混帳的缺點之一,因爲它不強迫你犯在你的倉庫其他版本控制系統做的每一個變化。但是,可以使用git status
命令輕鬆管理它,並仔細使用.gitignore文件。只要你保持清潔或適當忽視樹木,你可以快速瀏覽一下你是否有任何未跟蹤的文件。
至於事後修正此,只是階段和提交相應的變化,在這種情況下將未跟蹤文件。
- 1. 文件重命名/刪除
- 2. 文件刪除和重命名問題
- 3. 使用斷開鏈接刪除和重命名文件()和重命名()
- 4. 在WINAPI中刪除,複製,重命名文件和目錄..?
- 5. 使用HDF5庫重命名和刪除HDF5文件中的組
- 6. Java中的文件刪除和重命名
- 7. PHP下載,使用按鈕刪除和重命名文件
- 8. 在Servlet中刪除和重命名多個文件的問題
- 9. ESP8266 SPIFFS複製文件內容,刪除和重命名
- 10. 如何刪除和重命名Android中的文件?
- 11. 重命名刪除權限被阻止的文件夾/文件
- 12. 紅寶石重命名文件刪除文件
- 13. 重命名後無法刪除文件(文件打開)
- 14. 文件名重命名 - 子字符串日期刪除
- 15. 刪除「!」從「[」和「]」文件名
- 16. 用於排序和重命名文件的Python腳本 - 刪除重複項
- 17. Visual Studio 2017慢文件操作(刪除,重命名,創建)
- 18. 用grunt_copy重命名後刪除原始文件
- 19. Python重命名ftp上傳文件刪除
- 20. 監視Outlook文件夾重命名/添加/刪除與外接
- 21. 無法重命名或刪除文件實例
- 22. 遞歸重命名文件並刪除一個字符
- 23. TFS:無法重命名爲刪除文件
- 24. 刪除每n個文件,然後重命名序列
- 25. Qt加載刪除/重命名文件與Windows 10
- 26. 在Java編程中刪除並重命名文件
- 27. 重命名文件刪除時間在PowerShell中
- 28. For循環刪除文件而不是重命名
- 29. 使用Lion上的FSEvents跟蹤文件重命名/刪除
- 30. 爲什麼刪除前需要將文件重命名30次?
不幸的是,它會增加不必要的文件,但我想混帳不能聰明(還)。 – hatmatrix 2011-05-09 10:00:58
如果你有一些匹配這些不需要的文件的模式,把它們放在'.gitignore'(或'.git/info/exclude')中,它們不會自動添加。 – 2011-05-09 11:11:47