當使用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. 重命名和刪除文件
- 5. ProcessBuilder刪除和重命名
- 6. 使用斷開鏈接刪除和重命名文件()和重命名()
- 7. 文件未重命名或刪除
- 8. 通過從文件名中刪除單詞重命名文件
- 9. 在WINAPI中刪除,複製,重命名文件和目錄..?
- 10. 如何刪除和重命名Android中的文件?
- 11. ESP8266 SPIFFS複製文件內容,刪除和重命名
- 12. TFS重命名和刪除文件是Visual Studio的2013
- 13. Java中的文件刪除和重命名
- 14. PHP下載,使用按鈕刪除和重命名文件
- 15. 使用HDF5庫重命名和刪除HDF5文件中的組
- 16. 如何刪除和重命名Windows上的C文件
- 17. 在Servlet中刪除和重命名多個文件的問題
- 18. 編譯錯誤:在java中刪除和重命名文件?
- 19. 重命名後無法刪除文件(文件打開)
- 20. 重命名刪除權限被阻止的文件夾/文件
- 21. 紅寶石重命名文件刪除文件
- 22. 文件名重命名 - 子字符串日期刪除
- 23. 刪除「!」從「[」和「]」文件名
- 24. 如何刪除歷史記錄中的刪除和重命名?
- 25. 強制刪除並重命名VB6中的文本文件
- 26. 重命名文本框刪除某些行後刪除行
- 27. 用於排序和重命名文件的Python腳本 - 刪除重複項
- 28. 重命名多個文件名(除去文件名的結尾)
- 29. Eclipse中不能重命名或刪除文件
- 30. 重命名,刪除或更改路徑文件的成本
不幸的是,它會增加不必要的文件,但我想混帳不能聰明(還)。 – hatmatrix 2011-05-09 10:00:58
如果你有一些匹配這些不需要的文件的模式,把它們放在'.gitignore'(或'.git/info/exclude')中,它們不會自動添加。 – 2011-05-09 11:11:47