动作算法:
首先,我在项目中添加了一个包含大量文件的文件夹
然后他将它们添加到索引
git add .
中,但同时忘记创建一个文件.gitignore
并添加一个被忽略文件的列表。vendor/ npm/ some_folder/ и т.д.
有许多文件夹需要从索引中删除,但它们已经包含在索引中,但它git status
给出了
(use "git rm --cached <file>..." to unstage)
通常我必须立即为每个人做这件事git reset HEAD .
,但这对我来说是第一次。如何立即从索引中删除所有文件(包括嵌套文件)?
该程序说:
对于递归删除,您需要添加一个选项
-r
(如果您在没有它的情况下输入命令, git程序本身会提醒您):并且您可以指定的不是整个当前目录 (
.
),而是一个特定的文件 (s) / 目录 (s):git filter-branch --force (这样该目录就不会从硬盘中删除)
git filter-branch --tree-filter "rm -rf PATH" HEAD
其中 PATH 是文件/文件夹的路径
https://toster.ru/q/176843
https://help.github.com/en/articles/removing-sensitive-data-from-a-repository