如何从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和本地删除目录
使用两个目录签出“master”:
git rm -r one-of-the-directories // This deletes from filesystem
git commit . -m "Remove duplicated directory"
git push origin <your-git-branch> (typically 'master', but not always)
从Git中删除目录,但不是本地目录
要从Git中删除此目录,但不将其从文件系统(本地)中完全删除,请执行以下操作:
git rm -r --cached myFolder
如果由于某种原因,karmakaze所说的不起作用,您可以尝试使用或使用文件系统浏览器(例如,在Windows文件资源管理器中)删除您想要的目录。删除目录后,发出命令:git add-A然后gitcommit-m'删除目录'然后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
我通常使用gitadd-all从远程存储库中删除文件/文件夹
rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master
master可以被存储库的任何其他分支替换。
如果删除目录中的文件(其他答案解释为git-rm),那么就git而言,该目录将不再存在。您不能提交一个空目录,也不能删除一个。
这与subversion不同,在subversion中,您必须显式地svn rm emptyfolder/,这也是git的手册页将自己描述为“愚蠢的内容跟踪器”的原因
关于“如何将空目录添加到git存储库”的回答链接到此主题的常见问题解答:
目前git索引的设计(临时区域)仅允许文件被列入名单,没有人能胜任进行更改以允许清空目录已经足够关心这种情况可以补救。自动添加目录在其中添加文件时。那个就是,永远不必添加目录到存储库,并且不被跟踪他们自己。你可以说“gitadd<dir>”将在其中添加文件。如果您确实需要一个目录存在于签出中,您应该创建gitignore适用于这一目的;你可以让它空着,或填写文件的名称期望显示在目录中。
推荐文章
- 撤消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迁移文件吗?
- 错误:您对以下文件的本地更改将被签出覆盖