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 关注
- 545 浏览
添加回答
举报