我经常遇到这种情况:我们团队中的某个人在没有添加.gitignore文件的情况下推送了一个初始提交。这导致许多我们不想跟踪的文件出现在仓库中。
使用命令:
可以给我列出由.gitignore忽略的文件列表;
使用命令:
可以让我从仓库中一次删除一个文件,但仍然保留它们在我的工作目录中(这是我想要的)。
有没有一种方法可以将
我们团队中的一位成员编写了一个使用正则表达式的shell脚本来解决这个问题,但我正在寻找一个仅使用命令行的解决方案(如果有的话)。
使用命令:
git ls-files -i --exclude-from=.gitignore
可以给我列出由.gitignore忽略的文件列表;
使用命令:
git rm --cached <file>
可以让我从仓库中一次删除一个文件,但仍然保留它们在我的工作目录中(这是我想要的)。
有没有一种方法可以将
ls-files
命令的文件列表输出输入到rm --cached
中(或者其他完全不同的方法),以允许我删除已跟踪但被.gitignore忽略的文件?我们团队中的一位成员编写了一个使用正则表达式的shell脚本来解决这个问题,但我正在寻找一个仅使用命令行的解决方案(如果有的话)。