我正在尝试通过以下方式从 git 克隆一个项目:
git clone link
并收到此消息
remote: Enumerating objects: 24533, done.
remote: Counting objects: 100% (24533/24533), done.
remote: Compressing objects: 100% (5045/5045), done.
remote: Total 24533 (delta 15448), reused 24389 (delta 15306), pack-reused 0
Receiving objects: 100% (24533/24533), 75.12 MiB | 10.96 MiB/s, done.
Resolving deltas: 100% (15448/15448), done.
git-lfs filter-process: git-lfs: command not found
fatal: the remote end hung up unexpectedly
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
我一直在四处寻找并尝试:
git config --system core.longpaths true
但它不起作用,我的磁盘有很多空闲
如果您使用的是 Mac,请运行:
brew install git-lfs
git lfs install
git lfs install --system
TL;博士
也许git
没有链接到机器上的git-lfs
。尝试链接它:
ln -s "$(which git-lfs)" "$(git --exec-path)/git-lfs"
解释
虽然它说缺少一些东西,但实际上可以安装在机器上git-lfs
但git
只是没有在搜索路径中找到它。因此,我们在其搜索路径中创建一个符号文件:
$(git --exec-path)/git-lfs
链接到计算机上通常安装的:
which git-lfs
您可以尝试推送包含巨大文件的存储库。因此,在这种情况下,我们必须安装git-lfs。
对于视窗:
-
从官方网站下载 git-lfs (下载)并将其安装在您的机器中。
-
然后,通过在终端中运行以下命令,为您的用户帐户设置 Git LFS:
git lfs install
对于 Mac:
-
在终端中运行以下命令。
brew install git-lfs git lfs install
对于 Ubuntu:
-
在终端中运行以下命令。
sudo apt install git-lfs git lfs install
遇到同样的问题,Teodoriko 的答案对我不起作用,结果是:
git: 'lfs' is not a git command. See 'git --help'.
对我有用的是使用以下方法安装依赖项:
sudo apt install git-lfs
我的 git 版本2.27.0
如果您有意删除了 git-lfs,并且不想像其他答案建议的那样重新安装它,那么您的出路是:
git config --global --remove-section filter.lfs
这是一个简单的问题。查看基于您的操作系统的安装类型的文档。对于 linux,只需执行以下命令:
-
下载并安装 Git 命令行扩展。下载后 并安装,通过运行以下命令为您的用户帐户设置 Git LFS:
git lfs install
每个用户帐户只需运行一次。
-
在要使用 Git LFS 的每个 Git 存储库中,选择 您希望 Git LFS 管理的文件类型(或直接编辑您的 .gitattributes)。您可以在以下位置配置其他文件扩展名 随时。
git lfs track "*.psd"
现在确保跟踪 .gitattributes:
git add .gitattributes
请注意,定义 Git LFS 应跟踪的文件类型本身不会将任何预先存在的文件转换为 Git LFS,例如其他分支上的文件或您之前的提交历史记录中的文件。为此,请使用 git lfs migrate[1] 命令,该命令具有一系列旨在适应各种潜在用例的选项。
没有第三步。只需提交并推送到 GitHub 通常会;例如,如果您当前的分支名为 main:
git add file.psd git commit -m "Add design file" git push origin main
参考资料: https://git-lfs.github.com/
我在Mac OS上偶然发现了同样的错误。原因是 Xcode 命令行工具中包含的 Git 版本与通过 HomeBrew 安装的 Git LFS 版本之间存在冲突。
基本上,正如投票最高的答案所暗示的那样,Git 二进制可执行文件 (git
) 期望 Git LFS 扩展的二进制可执行文件位于其执行路径的目录中。
即使 Xcode 命令行工具安装的 Git 二进制可执行文件在物理上位于/usr/bin/git
~ which git
/usr/bin/git
其执行路径是另一个目录
~ git --exec-path
/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core
因此git
无法在/Applications/Xcode.app/Contents/Developer/usr/libexec/git-core
内部找到git-lfs
二进制,因为后者位于/opt/opt/homebrew/bin/git-lfs
~ which git-lfs
/opt/homebrew/bin/git-lfs
这解释了顶部答案中提出的符号链接的必要性:
sudo ln -s "$(which git-lfs)" "$(git --exec-path)/git-lfs"
不幸的是,在最新版本的Mac OS中,该命令不起作用:
~ sudo ln -s "$(which git-lfs)" "$(git --exec-path)/git-lfs"
ln: /Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-lfs: Operation not permitted
该错误是由于系统完整性保护(又名"SIP")造成的,该功能在最新版本的Mac OS中启用。它基本上使文件系统的某些部分对所有人只读,包括root:即使是前缀sudo
,如上所示,也是无效的。
说,唯一对我有用的解决方案是通过brew安装Git
~ brew install git
确保 HomeBrew 二进制文件优先于系统二进制文件:
~ echo $PATH
opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/Library/Apple/usr/bin
我的问题是由 intelliJ IDEA 项目组中的项目太多引起的。 所以 git-lfs 在索引我认为的所有项目时崩溃了。我能够通过重新组合我的项目(将它们分成更多组)来修复它。希望它对某人有所帮助
for RHEL/CentOS/RockyLinux/OracleLinux 9
dnf install git-lfs
对我来说,在Mac M1上,以下命令已经奏效sudo cp -n $(which git-lfs) /usr/local/bin/