如何从Git存储库中删除包含文件的单个目录?
当前回答
要添加新目录:
mkdir <YOUR-DIRECTORY>
但是现在Git不知道这个新目录,因为Git跟踪的是文件而不是目录目录
git status
Git不会意识到我们所做的更改,所以我们添加了hidden.keep文件,以使Git意识到新的更改。
touch /YOUR-directory/.keep
现在,如果你点击git状态,git就会知道这些变化。
如果要删除目录,则应使用此命令。
rm -r <YOUR-DIRECTORY>
如果您使用gitstatus进行检查,您将看到目录已被删除。
其他回答
从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
这两个答案的组合对我有用
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无法删除它,经过一些研究后我了解到Git不跟踪空目录。如果您的工作目录树中有一个空目录,则只需使用
rm -r folderName
没有必要涉及Git。
如果由于某种原因,karmakaze所说的不起作用,您可以尝试使用或使用文件系统浏览器(例如,在Windows文件资源管理器中)删除您想要的目录。删除目录后,发出命令:git add-A然后gitcommit-m'删除目录'然后git推送原始主机。
我通常使用gitadd-all从远程存储库中删除文件/文件夹
rm -r folder_name
git add --all
git commit -m "some comment"
git push origin master
master可以被存储库的任何其他分支替换。
推荐文章
- 为什么我需要显式地推一个新分支?
- 如何撤消最后的git添加?
- Rubymine:如何让Git忽略Rubymine创建的.idea文件
- Gitignore二进制文件,没有扩展名
- Git隐藏错误:Git隐藏弹出并最终与合并冲突
- 了解Git和GitHub的基础知识
- 没有。Git目录的Git克隆
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别