标签: git-lfs

Jenkins 多分支管道:在 Mac 节点上找不到 git-lfs 命令

我有一个 Jenkins 多分支管道,配置为在通过 javaws 配置的 mac 10.14 节点上运行测试和声纳库扫描。在结帐时,它在 scm 结帐期间失败:

[Pipeline] End of Pipeline
[Bitbucket] Notifying commit build result
[Bitbucket] Build result notified
hudson.plugins.git.GitException: Command "/usr/local/bin/git checkout -f 7dca678ce3a4a8f93fe8ed4bb4920db40c417839" returned status code 128:
stdout: 
stderr: git-lfs filter-process: git-lfs: command not found
fatal: the remote end hung up unexpectedly

    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2172)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$1000(CliGitAPIImpl.java:78)
    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:2453)
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to JNLP4-connect connection from platform-e2e-mac.mynetwork.com/10.1.4.49:49175
        at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
        at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)
        at hudson.remoting.Channel.call(Channel.java:955)
        at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)
        at sun.reflect.GeneratedMethodAccessor761.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132) …
Run Code Online (Sandbox Code Playgroud)

macos jenkins git-lfs jenkins-pipeline multibranch-pipeline

3
推荐指数
1
解决办法
5020
查看次数

git checkout 获取 ASCII 文件而不是二进制文件

在新 PC 上安装 Ubuntu 18.04,并将二进制文件克隆为文本文件。

在新旧盒子上运行命令:

$ git checkout -f a8afd894150cc31cde43dbeb422183640b64dcab
HEAD is now at a8afd8941 did some stuff.
Run Code Online (Sandbox Code Playgroud)

旧电脑:

file composer.phar
composer.phar: data
Run Code Online (Sandbox Code Playgroud)

新电脑:

$ file composer.phar
composer.phar: ASCII text
Run Code Online (Sandbox Code Playgroud)

看到它失败后,我安装/启用了 git lfs:

$ apt-get install git-lfs 
$ git lfs install
Updated git hooks.
Git LFS initialized.
Run Code Online (Sandbox Code Playgroud)

两者在新旧电脑上看起来都一样/root/.gitconfig/var/lib/jenkins/.gitconfig

任何想法有什么问题吗?

git ubuntu git-lfs

3
推荐指数
1
解决办法
1423
查看次数

在 macOS 上使用 git-lfs 拉取时 Gitkraken 错误

我在 macOS 上使用 Gitkraken 进行 LFS 拉取时遇到错误。我收到以下错误消息:

LFS Pull git 出错:“lfs”不是 git 命令。请参阅“git --help”。最相似的命令是 log

在 Gitkraken 文档(此处)中,我们找到以下解释:

注意:如果 GitKraken 仍然找不到 Git 或 Git LFS,则终端或 CMD 可能使用与系统或用户路径不同的路径。例如,在 OSX 上,从 GUI 启动的应用程序与从终端启动的应用程序具有不同的路径。

要检查这一点,我们可以执行以下命令which git-lfswhich git

事实上,我得到以下结果:

which git     /usr/bin/git \
which git-lfs /opt/homebrew/bin/git-lfs
Run Code Online (Sandbox Code Playgroud)

然后,文档说你必须在路径中添加一个环境变量,该示例是针对 Windows 给出的,但我无法重现 macOS 的等效项

在我的 .zshrc 中我有这个:export PATH=$HOME/bin:/usr/local/bin:$PATH

我尝试过:export PATH=$HOME/bin:/usr/local/bin:/opt/homebrew/bin/git-lfs:$PATH但它不起作用

错误可能是绝对明显的,但我对环境变量等了解不多。

git macos path git-lfs gitkraken

3
推荐指数
1
解决办法
1706
查看次数

GIT LFS(仅支持 application/vnd.git-lfs 和 application/vnd.git-lfs+json)

LFS 支持已经与我们的 Azure GIT 存储库一起工作了很长时间,但在推送大文件提交时突然失败。它开始上传。看起来像是重新启动了几次然后就失败了。

C:\Git\...>git push
Locking support detected on remote "origin". Consider enabling it with:
  $ git config lfs.https://...@dev.azure.com/.../.../_git/....git/info/lfs.locksverify true
LFS: Client error: https://...@dev.azure.com/.../.../_git/.../info/lfs/objects/... from HTTP 413
Uploading LFS objects:   0% (0/1), 0 B | 18 MB/s, done.
error: failed to push some refs to 'https://dev.azure.com/.../.../_git/...'
Run Code Online (Sandbox Code Playgroud)

客户端错误是:仅支持 application/vnd.git-lfs 和 application/vnd.git-lfs+json

使用:

  • git版本2.33.1.windows.1
  • git-lfs/3.0.1(GitHub;windows amd64;go 1.17.1)

更新 问题是一致的。添加新文件会产生相同的错误。我已经重新安装了 GIT/GIT-LFS,并清理了 GIT repo 文件夹。不用找了。

git git-lfs

3
推荐指数
1
解决办法
596
查看次数

使用 LFS 推送到新的远程

远程存储库(origin @ BitBucket)被删除。我有该项目的本地版本,我正在尝试从本地副本重新创建此存储库。

删除的项目使用了LFS。我在 GitLab 上创建了一个新的空存储库,并将其添加为名为“ origin2 ”的辅助远程存储库。

当我尝试git push origin2 master上传过程陷入困境时Uploading LFS objects: 50% (2553/5107), 783 MB | 0 B/s

我尝试这样做git push origin2 master --no-verify并且这有效。但是,如果我现在从 GitLab 克隆这个新存储库并尝试打开该项目,我会收到各种错误,我认为这是因为 LFS 之前“处理”的一些文件丢失了。

有没有办法可以从本地副本完全重新创建存储库?

这是我的配置的样子:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = git@bitbucket.org:company/project.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[lfs "https://bitbucket.org/company/project.git/info/lfs"]
    locksverify = false
[remote "origin2"] …
Run Code Online (Sandbox Code Playgroud)

git bitbucket gitlab git-lfs

3
推荐指数
1
解决办法
6548
查看次数

Git LFS 是否使用与 Git 客户端不同的身份验证逻辑?

我们使用本地 Azure DevOps,并且刚刚开始试用 Git LFS。我已经安装了最新的客户端 (3.0.2) 和 git(由 Visual Studio IIRC 安装的 2.31.1.windows.1),当从具有 LFS 文件的 DevOps 克隆 Git 存储库时,一切最初看起来都很好。

然而,我的本地存储库仅引用了 LFS 文件,当尝试运行git lfs pull(或获取或推送新的 LFS 跟踪文件)等命令时,我收到与http://<server>:8080/tfs/<collection>/<project>/_git/<repo>.git/info/lfsgit 存储库 URL 的子路径相关的身份验证错误。

谷歌搜索已经向其他人展示了类似的问题,但没有明确回答发生了什么,或者为什么,或者如何解决它。我不明白这是 DevOps 实施问题还是我这边的本地客户端问题。

我确实遇到过关于 Git LFS 不使用与 Git 相同的凭据或身份验证类型的讨论,或者可能在不同的位置寻找它们 - 请注意,我们在本地使用 HTTP 而不是 HTTPS,也许这是一个因素?

git git-lfs azure-devops

3
推荐指数
1
解决办法
2778
查看次数

Git-Extensions是否支持git lfs?

我找不到有关该主题的任何信息。

由于Git-Extensions主要使用(或仅使用:)命令行与存储库一起工作,我的假设是,使用git lfs应该可以。Diff,Blaming,File-History等应该不是问题,因为lfs只会处理二进制文件。

但是由于Git-Extensions的那部分(Diff,Blaming,文件历史记录)非常薄弱(我认为行为并不具有确定性),我想知道使用git lfs时是否会遇到问题。

使用Git-Extensions和git lfs时,有没有可靠的信息/经验?

谢谢

git git-lfs

2
推荐指数
1
解决办法
1568
查看次数

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

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

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

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

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

git-lfs

2
推荐指数
1
解决办法
581
查看次数

如何增加 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 空间不足。

感谢您的时间,并干杯。

nginx large-files gitlab docker git-lfs

2
推荐指数
1
解决办法
2908
查看次数

Git 预推送问题没有这样的文件或目录

我使用 github for windows with git-lfs,将更改提交到成功完成的本地分支,然后在我尝试同步到远程后出错。尝试从 git shell 推送我的更改并出现此错误

错误:无法生成 .git/hooks/pre-push:没有这样的文件或目录
错误:.git/hooks/pre-push 的 waitpid 失败:没有子进程

然后我推过去

git push --no-verify

它确实被推送了,但我尝试下载文件,但他们给出了 404 错误。我提交的任何更改都会产生与 pre-push 挂钩相同的错误。

git github git-lfs

2
推荐指数
2
解决办法
4169
查看次数