亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將目錄添加到.gitignore后,從遠程存儲庫中刪除目錄

將目錄添加到.gitignore后,從遠程存儲庫中刪除目錄

Git
墨色風雨 2020-02-03 14:03:00
我提交并推送了一些目錄到github。在那之后,我修改了.gitignore文件,添加了應該忽略的目錄。一切正常,但(現在已忽略)目錄保留在github上。如何從github和存儲庫歷史記錄中刪除該目錄?
查看完整描述

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的反饋; 文件仍在工作目錄中。


查看完整回答
反對 回復 2020-02-03
?
12345678_0001

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


查看完整回答
反對 回復 2020-02-03
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊


要僅從git存儲庫而不是從本地存儲刪除文件夾/目錄,請嘗試3個簡單步驟。

刪除目錄的步驟


git rm -r --cached FolderName

git commit -m "Removed folder from repository"

git push origin master

在下次提交中忽略該文件夾的步驟


要在下次提交時忽略該文件夾,請在根目錄.gitignore中創建一個文件 ,并將該文件夾名稱放入其中。你可以放任意多


.gitignore文件將如下所示


/FolderName


查看完整回答
反對 回復 2020-02-03
  • 3 回答
  • 0 關注
  • 593 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號