6

我将我的普通(非 lfs)存储库克隆到本地驱动器。现在我想添加一个大于 100MB 的文件并将更改提交到存储库。我为此使用了以下命令:

git clone ....

然后我复制要添加到存储库的大小 > 100MB 的文件。可以说该文件的名称是“文件名”。

git lfs init
git lfs track "filename"
git add "filename"
git commit -m "commit message"
git push -u origin

这会失败,并显示文件大小错误消息,指出只允许最大 100MB 的文件。

那么在这种情况下如何使用 git lfs 呢?

4

2 回答 2

5

您可以检查该文件是否已被标准 git 跟踪。在那种情况下,我怀疑标准 git 仍会跟踪它,而不是 git lfs,因此施加了 100MB 的限制。

如果这适用于您的情况,请尝试将现有文件迁移到新的存储库中:

git lfs migrate import --include="your.file"

并将转换后的存储库推送到新的存储库:

git push

PS:类似的现象发生在.gitignore:忽略后验使用的文件.gitignore不会取消跟踪它。在这种情况下,您必须使用git rm --cached <file>) 显式取消跟踪它。

于 2018-09-28T08:32:00.807 回答
4

在这里,我将举个例子,我的文件夹名称是data我存储大文件的位置。

配置

为了将此文件夹添加到您的存储库,您必须配置该.gitattributes文件。在我的例子中,我会做

$ cat .gitattributes
$ data/* filter-lfs

要跟踪文件使用:

$ git lfs track
Listing tracked paths
   data/* (<repo name>/.gitattributes)

那你就可以走了……

犯罪

使用本机 git 命令添加和提交文件。

$ git add data/
$ git commit -m "lf"

您将观察到文件索引只需 1-2 秒。要列出您的 repo 中的所有 lfs,请使用:

$ git lfs ls-files

完成所有操作后,您可以推送到远程:

$ git push -u origin master

这将需要一些时间来上传,具体取决于您的互联网速度。

您可以参考这些以获取更多信息:

于 2015-11-27T06:31:11.843 回答