非root用户安装git lfs(git大文件)命令记录

背景

最近在看LLAMA2的模型,想直接从Huggingface下载模型到本地,但是却发现服务器上没有安装git lfs命令。查询了一些资料完成了非root用户安装git lfs命令的操作,特此记录。

Git LFS下载与解压

下载 Git LFS 二进制文件

  1. 访问 Git LFS 发布页面 :首先,访问 Git LFS 的官方 GitHub 仓库的 Releases 页面,找到适合你操作系统的版本。

  2. 下载二进制文件 :选择对应的版本,下载 .tar.gz 文件。例如,我使用的是 Linux,所下载的为 git-lfs-linux-amd64-v2.x.y.tar.gz 的文件。

解压 Git LFS

下载文件后,可以使用命令行工具 tar 来解压:

bash 复制代码
tar -xzf git-lfs-linux-amd64-v2.x.y.tar.gz

安装

完成下载和解压后就可以进行安装了。

root权限用户安装

有root权限则可以直接运行安装脚本,即在当前目录中运行该脚本来安装 Git LFS。

bash 复制代码
./install.sh

非root权限用户安装

如果没有权限运行 install.sh,则需要手动将install.sh文件中的prefix目录进行修改,更改为本用户的目录。例如,原来的install.sh文件内容如下:

bash 复制代码
#!/usr/bin/env bash
set -eu

prefix="/usr/local"

if [ "${PREFIX:-}" != "" ] ; then
  prefix=${PREFIX:-}
elif [ "${BOXEN_HOME:-}" != "" ] ; then
  prefix=${BOXEN_HOME:-}
fi

mkdir -p $prefix/bin
rm -rf $prefix/bin/git-lfs*

pushd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null
  for g in git*; do
    install $g "$prefix/bin/$g"
  done
popd > /dev/null

PATH+=:$prefix/bin
git lfs install

这里,我将prefix进行修改:

bash 复制代码
#!/usr/bin/env bash
set -eu

prefix="/home/jxqi"

if [ "${PREFIX:-}" != "" ] ; then
  prefix=${PREFIX:-}
elif [ "${BOXEN_HOME:-}" != "" ] ; then
  prefix=${BOXEN_HOME:-}
fi

mkdir -p $prefix/bin
rm -rf $prefix/bin/git-lfs*

pushd "$( dirname "${BASH_SOURCE[0]}" )" > /dev/null
  for g in git*; do
    install $g "$prefix/bin/$g"
  done
popd > /dev/null

PATH+=:$prefix/bin
git lfs install

这个脚本会自动在prefix目录下创建一个bin目录,然后将git lfs安装到这个目录中。

配置 Git LFS

完成安装后,我们还需要手动配置这个命令的Path,需要我们在 ~/.bashrc 文件中添加如下行:

bash 复制代码
 export PATH="$HOME/bin:$PATH"

最后,可以运行 Git LFS 初始化,验证是否安装成功

bash 复制代码
git lfs install

如得到"Git LFS initialized."输出即完成安装。

相关推荐
这是个栗子15 分钟前
git报错:‘git‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。
git
小生不才yz15 分钟前
(二)日常工作流 - git rm 命令的使用
git
inferno19 分钟前
TortoiseGit下载与安装
git
取名真是28 分钟前
Git 到底是干啥的?零基础小白听完都懂了并且轻松驾驭它
git
AA陈超3 小时前
Git常用命令大全及使用指南
笔记·git·学习
无限进步_3 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio
松涛和鸣3 小时前
16、C 语言高级指针与结构体
linux·c语言·开发语言·数据结构·git·算法
楠语3 小时前
从指针行为理解Git中的reset操作
git
询问QQ:276998855 小时前
基于手肘法的kmeans聚类数在Matlab中的精确识别:风电与光伏功率分析
gitlab
扛麻袋的少年6 小时前
git reset 和 git reflog 解决代码分支提交错误
git