我没有使用.gitignore忽略我的项目中编译的二进制文件等文件,所以这些已编译的二进制文件已经提交到
Git存储库中.现在我将.gitignore添加到我的项目中.我想重建整个Git仓库,忽略.gitignore中列出的文件,而不会丢失任何历史记录.我怎样才能做到这一点? 最佳答案 如果刚添加了那些二进制文件,请从当前缓存中删除它们.
git rm --cached abinary
然后你的.gitignore会自动忽略这些二进制文件.
但是如果它们在过去的提交中被提交,那么你不会放弃历史,但是你仍然需要从所述提交中删除这些二进制文件.
您将需要git filter-branch
或bfg repo cleaner.
这将重写你的历史,你将需要一个git push –force,所以如果你有一个以上(你自己)的合作者,请提前警告他们.