3 回答

TA貢獻1883條經驗 獲得超3個贊
.gitignore文件中的規則僅適用于未跟蹤的文件。由于該目錄下的文件已在您的存儲庫中提交,因此您必須取消暫存它們,創建提交并將其推送到GitHub:
git rm -r --cached some-directory
git commit -m 'Remove the now ignored directory "some-directory"'
git push origin master
您不能在不重寫存儲庫歷史記錄的情況下從歷史記錄中刪除文件-如果其他任何人正在使用您的存儲庫,或者您正在多臺計算機上使用它,則不應這樣做。如果您仍然想這樣做,則可以使用它git filter-branch來重寫歷史記錄- 此處提供了有用的指南。
另外,請注意來自的輸出git rm -r --cached some-directory將類似于:
rm 'some-directory/product/cache/1/small_image/130x130/small_image.jpg'
rm 'some-directory/product/cache/1/small_image/135x/small_image.jpg'
rm 'some-directory/.htaccess'
rm 'some-directory/logo.jpg'
該rm是有關存儲庫git的反饋; 文件仍在工作目錄中。

TA貢獻1802條經驗 獲得超5個贊
我這樣做:
git rm --cached `git ls-files -i --exclude-from=.gitignore`
git commit -m 'Removed all files that are in the .gitignore'
git push origin master
這將刪除git忽略中的所有文件/文件夾,省去了手動選擇每個文件/文件夾的麻煩
這似乎已停止為我工作,我現在這樣做:
git rm -r --cached .
git add .
git commit -m 'Removed all files that are in the .gitignore'
git push origin master

TA貢獻1719條經驗 獲得超6個贊
要僅從git存儲庫而不是從本地存儲刪除文件夾/目錄,請嘗試3個簡單步驟。
刪除目錄的步驟
git rm -r --cached FolderName
git commit -m "Removed folder from repository"
git push origin master
在下次提交中忽略該文件夾的步驟
要在下次提交時忽略該文件夾,請在根目錄.gitignore中創建一個文件 ,并將該文件夾名稱放入其中。你可以放任意多
.gitignore文件將如下所示
/FolderName
- 3 回答
- 0 關注
- 593 瀏覽
添加回答
舉報