删除历史记录中的文件以节省 Mercurial 的一些空间
好吧,当我年轻的时候,我把几个大文件(如资源文件、dll 等)放在我的 Mercurial 存储库中。我发现它的大小太大了,我无法轻松地将其推入 bitbucket,
有什么方法可以轻松删除此文件历史记录吗?
我将所有这些文件放在 /res 和 /dll 路径中。
编辑:
这是一个解决方案,但它会删除部分历史记录,所以也许有更好的解决方案。 Mercurial 删除历史记录
ok, when I was young, I put severial big files(like resource file, dll, etc..) in my mercurial repos. and I found the size of it is so big that I cannot easily push it into bitbucket,
any way to delete this files history EASILY?
I put all those files in /res and /dll path.
edit:
this is a solution, but it will delete part of the history, so maybe there is a better solution.
Mercurial Remove History
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您最好的选择是使用转换扩展,但是警告您最终会得到一个完全不同的存储库。每个哈希都会不同,每个克隆的人都需要删除他们的克隆并重新克隆。
也就是说,您要做的就是:
创建一个名为
filemap.txt
的文件映射文件,其中包含:然后运行此命令:
例如:
这将为您提供一个全新的存储库,其中包含除历史记录之外的所有历史记录/res 和 /dll 中的任何文件,但就 Mercurial(和 bitbucket)而言,这将是一个新的、不相关的存储库。
Your best bet is to use the convert extension, but warning you'll end up with a totally different repo. Every hash will be different and every person who cloned will need to delete their clone and re-clone.
That said, here's what you do:
Create a filemap file named
filemap.txt
containing:and then run this command:
For example:
That gets you a whole new repo that has all of your history except the history of any files in /res and /dll, but again it will be a new, unrelated repo as far as mercurial (and bitbucket) are concerned.