我有一个Git仓库,我已经删除了使用rm(不是 git rm)的四个文件,我的Git状态如下所示:
# deleted: file1.txt
# deleted: file2.txt
# deleted: file3.txt
# deleted: file4.txt
Run Code Online (Sandbox Code Playgroud)
如何从Git中删除这些文件,而无需手动浏览并添加如下所示的每个文件:
git rm file1 file2 file3 file4
Run Code Online (Sandbox Code Playgroud)
理想情况下,我正在寻找能够以同样方式工作的东西git add .,如果可能的话.
可能重复:
从已从磁盘中删除的Git存储库中删除多个文件
如果我从磁盘中删除了一些文件,它们会像Git repo中那样被删除:
C:\git\bc>git status
# On branch tracking2
# Changed but not updated:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: test.txt
#
Run Code Online (Sandbox Code Playgroud)
有没有办法执行单个命令"只是从存储库中删除这些文件"?
类似于git add .将所有新的和修改过的文件添加到舞台上.
我使用Visual Studio和Windows资源管理器来处理我的源代码树,在某些时候我只删除了一大堆文件.然后我发现调用很痛苦,git rm因为文件不再存在,并且没有命令行intellisense来帮助我输入它.
我只想要一个命令,删除git中也从磁盘中删除的所有文件.
我一直遇到这样的情况:我们团队中的某人在不首先向其项目中添加.gitignore的情况下推动了一次初始提交。这导致一堆文件最终存储在我们不想跟踪的存储库中。
git ls-files -i --exclude-from=.gitignore
给我列出了.gitignore忽略的文件的列表
和
git rm --cached <file>
让我一次从存储库中删除一个文件,但将它们保留在我的工作目录中(我想要的)
有没有一种方法可以将文件列表从ls-files传送到rm --cached (或完全允许我从存储库中删除跟踪的,忽略的文件的其他方法)?
我们的一个团队成员编写了一个使用正则表达式的shell脚本,但我正在寻找仅命令行解决方案(如果存在)。