我有一个 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) 在新 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
任何想法有什么问题吗?
我在 macOS 上使用 Gitkraken 进行 LFS 拉取时遇到错误。我收到以下错误消息:
LFS Pull git 出错:“lfs”不是 git 命令。请参阅“git --help”。最相似的命令是 log
在 Gitkraken 文档(此处)中,我们找到以下解释:
注意:如果 GitKraken 仍然找不到 Git 或 Git LFS,则终端或 CMD 可能使用与系统或用户路径不同的路径。例如,在 OSX 上,从 GUI 启动的应用程序与从终端启动的应用程序具有不同的路径。
要检查这一点,我们可以执行以下命令which git-lfs:which 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但它不起作用
错误可能是绝对明显的,但我对环境变量等了解不多。
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/GIT-LFS,并清理了 GIT repo 文件夹。不用找了。
远程存储库(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) 我们使用本地 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-Extensions主要使用(或仅使用:)命令行与存储库一起工作,我的假设是,使用git lfs应该可以。Diff,Blaming,File-History等应该不是问题,因为lfs只会处理二进制文件。
但是由于Git-Extensions的那部分(Diff,Blaming,文件历史记录)非常薄弱(我认为行为并不具有确定性),我想知道使用git lfs时是否会遇到问题。
使用Git-Extensions和git lfs时,有没有可靠的信息/经验?
谢谢
我有一个相当大的存储库,从远程克隆需要很长时间。我决定我可能会从 Git LFS 中受益,所以我去迁移了 repo。但是,在迁移、推送和重新克隆之后,存储库比原始存储库占用更多的磁盘空间。FS 的罪魁祸首是 .git/lfs/objects。
在迁移之前,我的 .git 文件夹是 846MB,迁移之后是 2GB,这是违反直觉的。
我尝试了两种迁移方法。一个是 BFG,另一个是使用 git filter-branch(花了三天 x_x)。两者最终都得到了相同的结果。
我错过了什么吗?这是正常的吗?
我正在使用出色的sameersbn/gitlab为我的工作设置自定义 gitlab 服务器。
所以我有一个荒谬的场景,我使用gitlab ce v8.12.5git lfs来存储 10-20 GB范围内的文件,但我看到到处都是 500 个服务器错误,我的上传无法完成。
问题:有谁知道如何增加服务器端限制?
注意:这不是 413 nginx 问题,我已经设置了
client_max_body_size 500G所以它应该可以很好地转发到 gitlab。
如果需要更多信息(即日志文件等),我很乐意提供,只需发表评论。
在同一问题上似乎有一个相关的gitlab问题。
其他相关资源:
现在,我的假设是 docker 容器中的链或代理服务器中的某处存在超时。
所以这是我刚刚注意到docker映射的设备在 gitlab 错误出500的同一时间/dev/dm-7变得100% 满。
现在我开始相信这不是 gitlab 问题,而是 docker 问题,而且 gitlab 空间不足。
感谢您的时间,并干杯。
我使用 github for windows with git-lfs,将更改提交到成功完成的本地分支,然后在我尝试同步到远程后出错。尝试从 git shell 推送我的更改并出现此错误
错误:无法生成 .git/hooks/pre-push:没有这样的文件或目录
错误:.git/hooks/pre-push 的 waitpid 失败:没有子进程
然后我推过去
git push --no-verify
它确实被推送了,但我尝试下载文件,但他们给出了 404 错误。我提交的任何更改都会产生与 pre-push 挂钩相同的错误。