问题背景

2024-03-03
一篇微服务系统测试工具的论文,事后发现自己一开始的理解有问题,导致自己算的预期值和论文中正确的值不一样。

测试工具原型的依赖定义有缺失,默认可能会用当前最新版,但时过境迁”最新版“变化会导致不兼容,因为不熟悉Python具体原因不确定。

工具的测试结果通过屏幕输出,我希望保存下来,但最大的单个日志文件比较大,超过Github支持的100MB,提示用LFS。

问题解决

安装Git LFS

git-lfs 项目 中的文档中有安装命令

对于 Ubuntu 系统:

(. /etc/lsb-release &&
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh |
sudo env os=ubuntu dist="${DISTRIB_CODENAME}" bash)

sudo apt-get install git-lfs

在Git配置LFS

参考Git LFS官网

执行以下命令,每个用户账户只需执行一次:

git lfs install

在项目中使用LFS

# Git LFS 追踪文件
## 追踪一类文件
git lfs track "*.psd"
## 追踪指定文件(以我的项目为例)
git lfs track netflix/functional/test_get_homepage-analysis.log.tar.gz
# 追踪文件会在 .gitattributes 加一条,因此需要同时暂存此文件
git add .gitattributes
# 正常暂存被追踪的文件,提交和推送
git add file.psd
git commit -m "Add design file"
git push origin main

查看Github上的Git LFS相关信息

在 Settings - Billing and plans - Plans and usage 页面
Git LFS Github 提交大文件-LMLPHP
可以看到最多允许的大小(似乎不会实时更新?)(我的有学生优惠,但LFS似乎和免费版一样)
Git LFS Github 提交大文件-LMLPHP
升级的价格(不便宜)
Git LFS Github 提交大文件-LMLPHP

遇到的问题

不通过LFS提交大文件时的错误提示

推送到Github错误时的提示信息,除了提示用LFS,似乎还包括pre-receive hook declined,当时我是用push -f(不提倡)推送的,这个提示还有一种可能时Github存储库禁止对此分支的push -f。

Git代理配置

重装过一次宿主机,导致虚拟机IP变了,其中git使用宿主机的代理服务IP没有相应修改,发生错误,提示信息包含:

proxyconnect tcp: dial tcp 192.168.134.1:7890: connect: connection refused

提示信息还包含以下内容:

Remote “origin” does not support the LFS locking API. Consider disabling it with:
  $ git config 'lfs.https://github.com/AlbertLiangzt/learn.git/info/lfs.locksverify' false

参考资料

Github - git-lfs
Github - git-lfs安装文档
git-lfs

CSDN: proxyconnect refused
CSDN: git push 报错 pre-receive hook declined
git 设置和取消代理

03-04 06:19