问题背景
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 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 页面
可以看到最多允许的大小(似乎不会实时更新?)(我的有学生优惠,但LFS似乎和免费版一样)
升级的价格(不便宜)
遇到的问题
不通过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 设置和取消代理