如何从Git存储库中删除包含文件的单个目录?
当前回答
您可以使用Attlasian源树(Windows)(https://www.atlassian.com/software/sourcetree/overview). 只需从树中选择文件并按下顶部的“删除”按钮。文件将从本地存储库和本地git数据库中删除。然后提交,然后推送。
其他回答
转到git目录,然后键入以下命令:rm-rf<目录名>
删除目录后,通过以下方式提交更改:gitcommit-m“您的提交消息”
然后只需在远程GIT目录上推送更改:git推送原点<分支名称>
这两个答案的组合对我有用
git rm -r one-of-the-directories
git commit . -m "Remove duplicated directory"
git push
如果仍然显示一些警告,请手动删除文件
git filter-branch --tree-filter 'rm -rf path/to/your/file' HEAD
git push
如果删除目录中的文件(其他答案解释为git-rm),那么就git而言,该目录将不再存在。您不能提交一个空目录,也不能删除一个。
这与subversion不同,在subversion中,您必须显式地svn rm emptyfolder/,这也是git的手册页将自己描述为“愚蠢的内容跟踪器”的原因
关于“如何将空目录添加到git存储库”的回答链接到此主题的常见问题解答:
目前git索引的设计(临时区域)仅允许文件被列入名单,没有人能胜任进行更改以允许清空目录已经足够关心这种情况可以补救。自动添加目录在其中添加文件时。那个就是,永远不必添加目录到存储库,并且不被跟踪他们自己。你可以说“gitadd<dir>”将在其中添加文件。如果您确实需要一个目录存在于签出中,您应该创建gitignore适用于这一目的;你可以让它空着,或填写文件的名称期望显示在目录中。
你可以试试这个:git rm-rf<目录名>
它将强制删除目录。
我通常使用gitadd-all从远程存储库中删除文件/文件夹
rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master
master可以被存储库的任何其他分支替换。
推荐文章
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?
- 当我试图推到原点时,为什么Git告诉我“没有这样的远程‘原点’”?
- 如何从远程分支中挑选?
- 如何查看一个分支中的哪些提交不在另一个分支中?
- 如何取消在github上的拉请求?
- HEAD和master的区别
- GIT克隆在windows中跨本地文件系统回购
- RPC失败;卷度传输已关闭,剩余未完成的读取数据
- 我应该在.gitignore文件中添加Django迁移文件吗?