我已经在这里阅读了几篇关于此的文章(例如Git ignore & changing the past,How to remove files that are listed in the .gitignore but still on the repository?和Applying .gitignore to committed files),但是它们存在一些问题:
仅在Linux上有效的命令。
命令不完整(例如我链接到的第一篇文章)。
仅用于一个文件。
我几乎没有使用Git的经验,所以我希望在这里有所帮助。
我基本上想做的是挽救我的项目历史之一。目前是Hg,我用Hg-Git将其转换为Git(都非常简单),并且包含了历史记录(很棒!)。但是,我还添加了一个.gitignore文件,并添加了一些我想完全脱离历史记录的新文件和文件夹(例如bin和obj文件夹,以及ReSharper中的文件)。因此,我正在寻找一种将.gitignore文件应用于所有历史记录的方法。该命令应在Windows上运行,因为我无意为此安装Linux。
最佳答案
无需在历史记录中添加.gitignore(没有附加值即可执行),只需将其添加以用于将来的提交即可。
要删除历史记录中的文件和目录,请使用bfg-repo-cleaner,它快速,简单并且在Windows上运行得很好(在scala中完成)。
它将为您完成工作!
关于linux - Git忽略并更改历史记录(在Windows上),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31057415/