Git-scm.org在其網站上非常清楚,git rm
不能用於僅從工作樹中刪除文件。從git-scm.org:rm僅適用於工作樹,僅適用於git中的文件
沒有選項只從工作樹中刪除一個文件,但 保持它的指標;如果你想這樣做,請使用/ bin/rm。
我的問題是:有沒有辦法可以做到這一點?本身不嚴格與git rm
。
我想這樣做的原因是我在我的(C#)開發工作流程中有兩個文件夾 - web根目錄和我的開發根目錄。當我構建我的項目時,所有項目文件都從開發根目錄複製到Web根目錄。作爲這些項目文件的兄弟姐妹,我在web根目錄中有一個大的CMS框架。這些安裝一次,並與我的項目文件並排生活。
此工作流程的問題是,如果我更改文件的位置,或者我重命名文件,則不會刪除舊文件。該過程是批量複製,並且我將在Web根目錄中管理一個文件的兩個版本。這會導致混淆錯誤。
我的想法是在我的web根目錄中使用本地git存儲庫,併爲所有CMS框架文件使用.gitignore。我想建立執行三個操作的腳本:
- 刪除所有的git控制文件從開發根到網站根
- 添加任何改變指數
- 複製文件,提交它們。
這樣我保證我的網站根本不會被陳舊的文件污染。這也爲我想探索的更多機會打開了大門。
我在這裏回答了類似的問題:http://stackoverflow.com/questions/ 31241850/get-deleted-files-list-from-git-commits/31242006#31242006 - 也許有什麼可以幫助你。 'rsync'應該照顧你要找的東西...... – nwinkler