我已经在这里阅读了几篇有关此内容的帖子(例如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),但它们有几个问题:
我几乎没有Git的经验,所以我希望能在这里提供一些帮助。
我基本上要做的是拯救我的一个项目历史。它目前是Hg和我用Hg-Git将它转换为Git(一切都非常简单),它包含了历史(太棒了!)。但是,我还添加了一个.gitignore文件并添加了几个新文件&我希望完全从历史记录中删除的文件夹(例如 bin 和 obj 文件夹,以及来自ReSharper的文件)。所以我正在寻找一种方法将.gitignore文件应用到我的所有历史记录中。这些命令应该适用于Windows,因为我无意为此安装Linux。
答案 0 :(得分:0)
无需在历史记录中添加.gitignore(没有附加值可以执行此操作),只需将其添加到将来的提交中即可。
要删除历史记录中的文件和目录,请使用快速,简单且在Windows上运行良好的bfg-repo-cleaner(在scala中完成)。
它会为你完成这项工作!
答案 1 :(得分:0)
这对我有用:
可能有一种更简单的方法可以做到这一点,它可能并不完美,但这有我想要的结果。