将现有的 Git 存储库转换为 git-lfs



我正在尝试将我的git存储库转换为git-lfs。我下载了 bitbucket 测试服务器,创建了一个存储库并在存储库和服务器的选项中启用了 lfs。如果我调用 git-lfs 来跟踪"*.psd"文件,它可以正常工作。如果我推送.psd文件,它们存储在 git lfs 位置。问题是,如果我将现有的存储库(客户端(推送到空的 git-lfs 存储库中,这些文件不会存储在 git-lfs 存储中。但是,如果我在那之后推送另一个.psd文件,它可以正常工作。

你们有没有一个好主意如何将我的存储库转换为 git-lfs?我必须保持历史等原样。我也看到了一些这方面的指南,但没有任何效果。我正在查看git-lfs-migrate,另一个脚本和其他一些东西。这些都没有将跟踪的文件推送到 lfs 目录

谢谢你帮助我!

弗罗西

遇到的问题是,当您执行git lfs track *.psd 时,这只会影响您随后使用git add的 Photoshop 文件会发生什么情况 - 对现有文件或新文件的修改。任何已经提交的内容都将保持原样,嵌入在 Git 存储库本身中。

可以转换存储库历史记录并将大文件内容从 Git 中提取到 LFS 中,但这本质上需要更改 Git 历史记录。实际上,这意味着最好让使用此存储库的每个人都在执行转换后克隆新副本。显然,进行备份并与您可能拥有的任何团队成员协调:)

虽然我自己只做了一些小测试,但BFG Repo Cleaner似乎对很多人来说都是成功的;你可能在你读过的线程中看到了这一点,尽管还有很多其他的噪音。这里有转换为 LFS 的具体说明:https://github.com/rtyley/bfg-repo-cleaner/releases/tag/v1.12.5

最新更新