问题标签 [git-lfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
641 浏览

git-lfs - 迁移到 git-lfs 后 Git 存储库文件变大

我有一个相当大的存储库,需要很长时间才能从远程克隆。我决定我可能会从 Git LFS 中受益,所以我去迁移了 repo。但是,在迁移、推送和重新克隆之后,存储库比原始存储库占用更多的磁盘空间。FS 的罪魁祸首是 .git/lfs/objects。

迁移之前我的 .git 文件夹是 846MB,迁移之后是 2GB,这是违反直觉的。

我尝试了两种迁移方法。一个是 BFG,另一个是使用 git filter-branch(花了三天 x_x)。两者最终都得到了相同的结果。

我错过了什么吗?这是正常的吗?

0 投票
1 回答
1397 浏览

git - git lfs bfg:在那之后,如何解决冲突?

我们有一个存储库,我们在其中提交了报告的 PDF 快照。我想试试git lfs,看看它是否能提高生活质量。

我按照这里的程序(https://github.com/rtyley/bfg-repo-cleaner/releases)使用 BFG 清理旧的二进制文件并过渡到 lfs。我克服了与将 Gitlab 服务器用于存储库相关的一些问题,但最终我相信这进展顺利。

我写信是为了展示我们做了什么,并在最后提出一个关于清理合并冲突的问题。

我给你看成绩单。我们检查了一个“--mirror”克隆(一个裸仓库),BFG 对此进行了工作,然后我们在摆弄之后将其推回:

如果你尝试这个,你应该准备好在推回 repo 时遇到一些麻烦。一个问题是 8.12 之前的 Gitlab 没有在 git 的 SSH 传输和 git lfs 的 HTTPS 传输之间集成密码管理。另一个问题是 Gitlab 项目的“保护”,如果你使用 Gitlab,你可能已经看到了。我第一次推送时看到了这个:

我们做了一些改变来解决这个问题。我们需要绝对最新版本的 Gitlab (8.12.4)。我需要告诉 Git 忽略过期的证书。在 Gitlab 服务器上,项目必须“不受保护”,以便开发人员可以推送。我不明白为什么这是必要的,因为我是所有者,我可以推送定期的 git 更改,但显然 lfs 集成是不同的。大惊小怪之后,我们成功地推回了存储库:

成功!

然后我回到这个存储库的工作目录,其中保存了 PDF 文件,并尝试了 git pull。我看到很多我必须解决的合并冲突:

我可能只是对遥控器进行一个干净的克隆,然后从那里继续。我在 Internet 上找到的说明对此没有太大帮助,它们主要是关于 lfs 的入门,而不是关于处理正在进行的 lfs 和 lfs 的克隆。我有点担心如果有人克隆了这个东西而他们没有 lfs 会发生什么。哦,好吧,我们拭目以待。

这是我的问题。如果我确实想处理所有这些二元冲突,我会怎么做?如果我只是想接受来自服务器的所有更改,看来我只需要一遍又一遍地运行它,为每个冲突的“fn.pdf”运行一次。

一遍又一遍地这样做似乎很乏味,但我想我可以做到。

我还在这里找到了建议(解决与二进制文件的 Git 冲突)尝试

但我无法确定如何与之交互。diff 东西启动了一个带有 3 列缓冲区的 gvim 框架,但我没有成功导航它。在我看来,这让我陷入了编辑地狱。

0 投票
1 回答
145 浏览

git - SSH 错误:conq:未处理的异常

我正在尝试解决 Bitbucket Git LFS 在我的工作站上正常工作,但在我要部署到的删除服务器上失败的问题。我正在获取error: external filter git-lfs smudge -- %f failed 2并使用 GIT_TRACE 我发现使用的 ssh 命令是:ssh git@bitbucket.org git-lfs-authenticate team/myrepo.git download。当我在本地运行它时,我得到了带有对象位置的 json,但是在远程服务器上我得到了这样的错误(两者都是 Ubuntu 14.04):

所以它可以很好地验证(并且ssh -T也可以),但是这个奇怪的错误conq: unhandled exception。这是什么意思?我该如何解决?

0 投票
1 回答
3070 浏览

nginx - 如何增加 gitlab CE lfs 文件大小限制以免出现 500 个服务器错误?

我正在使用出色的sameersbn/gitlab为我的工作设置自定义 gitlab 服务器。

所以我有一个荒谬的场景,我使用gitlab ce v8.12.5git lfs存储 10-20 GB范围内的文件,但我看到到处都是 500 个服务器错误,我的上传无法完成。

问题:有谁知道我可以如何增加服务器端的限制?

注意:这不是 413 nginx 问题,我已经设置了,client_max_body_size 500G所以它应该可以转发到 gitlab 就好了。

如果需要更多信息(即日志文件等),我很乐意提供,只需发表评论即可。

更新1:

在这个问题上似乎有一个相关的gitlab问题。

更新.2

其他相关资源:

现在我的假设是 docker 容器中的链或代理服务器的某处存在超时。

git bash:错误:RPC 失败;结果 = 18,HTP 代码 = 200B | 1KiB/s

https://github.com/gitlabhq/gitlabhq/issues/694

所以这是我刚刚注意到 docker 映射的设备在 gitlab 出现500错误的同时/dev/dm-7变得100% 满

现在我开始相信这不是 gitlab 问题,而是 docker 问题,而且 gitlab 只是空间不足。

谢谢你的时间,和欢呼。

0 投票
3 回答
4859 浏览

git - Git LFS 不工作

我在让 Git LFS 正确跟踪我的大文件时遇到问题(此处报告了类似问题:Git LFS 拒绝正确跟踪我的大文件,直到我执行以下操作)。

在我的具体情况下,我试图推送一个由多个子目录组成的目录,每个子目录都有我想要跟踪的特定类型的文件。这些文件类型的扩展名是.bed.Bed.sorted. 这是我遵循的食谱:

我做了git add .,然后git commit -m "initial commit",然后发出了相应的跟踪命令(例如,git lfs track ".bed"),然后做了git push origin master

但是,我仍然收到多个以“ this exceeds GitHub's file size limit of 100.00 MB”结尾的错误命令。我已经阅读了关于这个主题的几乎所有可用的 Stack Overflow 帖子(例如,git lfs 对于大于 100MB 的文件不能正常工作),所以任何建议都将不胜感激。

0 投票
2 回答
3727 浏览

git - Git LFS 不适用于 TeamCity 代理

git-lfs在我的私人存储库上进行了设置,一切都可以从命令行完美运行。

我将我的 TeamCity 构建代理设置为已git-lfs安装和初始化。但是,当我尝试通过 TeamCity 构建运行它时,该git-lfs pull命令将永远挂起,并且根本没有数据传输。我的任务管理器显示 git-lfs.exe 存在,但处于空闲状态。从代理的工作文件夹(在代理机器上)手动测试它,git-lfs pullgit lfs pull成功下载所有大文件时。

我的构建配置git-lfs pull作为第一个构建步骤,它在源更新后立即执行。

有谁知道为什么通过 TeamCity 构建过程运行与在构建代理内的命令行上git-lfs pull运行有什么不同?git-lfs pull

我正在使用 TeamCity 10.0.2 (42234) 并且我的代理已更新。

0 投票
1 回答
287 浏览

bitbucket - 如何将现有的 Git-p4 存储库迁移到 LFS

此刻,我有一个Git同步到主p4仓库并且工作正常的仓库。但它的大小远远超过 4Gb。我们需要将它移动到BitBucket,其中 2Gb 是最大限制。我想要达到的目标:

  1. 将 1 个文件夹和 1 个文件扩展名放在 LFS 下。
  2. 将 repo 迁移到BitBucket
  3. 使其与 p4 depot 双向同步。

第 1 点的假设是使用BFG Repo 清洁器。适合文件夹吗?
是否有可能达到第 3 点?

0 投票
1 回答
2088 浏览

windows - pre-push hook 报告 git-lfs 不在我的路径中,但它是

我为 Windows 安装了 git-lfs。Git Bash对于和来说,这似乎都在我的道路上PowerShell。这是来自的输出Git Bash

然而,当我运行时:

我得到以下内容pre-push

我试过删除pre-push钩子并重新安装,我仍然得到相同的结果。

我测试了推送应该跟踪的文件... Used git lfs track, added.gitattributes和跟踪的文件,但它被推送到常规 git repo 而不是 git-lfs 存储中。

知道为什么我无法git lfs install将正确的内容放入pre-push钩子或知道任何解决方法吗?

0 投票
2 回答
413 浏览

git - 尝试将我的存储库同步到 Gitlab 服务器时出错

Github Desktop 已安装并正在运行。我已经下载了 Git LFS,并正在尝试将我的存储库和大文件同步到 Gitlab 服务器。但是,我收到以下错误并且不确定如何继续。

看来我以某种方式跳过了以下步骤

设置说明中提供

但是当我尝试这个时,它也失败了......

我怎样才能解决这个问题?

0 投票
1 回答
381 浏览

git - git 从 LFS 迁移到普通仓库

Bitbucket 服务器上托管了 LFS git 存储库。现在我们不需要 LFS。

如何从 git LFS 存储库迁移回普通存储库?

如果使用 LFS 回购 - 提交中有“指针”而不是文件。如果我需要删除 LFS - 我应该使用文件而不是“指针”。那么如何用提交历史中的文件替换所有“指针”呢?

建议,它类似于git lfs smudge但应该应用于所有日志。