7

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

你们知道如何将我的回购转换为 git-lfs 吗?我必须保持历史等。我还看到了一些关于这方面的指南,但对我来说没有任何效果。我在看 git-lfs-migrate另一个脚本和其他一些东西。这并没有将跟踪的文件推送到 lfs 目录。目录

谢谢你的协助 !

弗罗西

4

1 回答 1

7

您遇到的问题是,当您执行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

高温高压

于 2016-02-03T10:40:16.983 回答