git clon httpxxxx #拉取
-
初始化 Git LFS
git lfs install这条命令会安装并设置 Git LFS,使其能够处理大文件。
-
跟踪文件:
-
单个跟踪,选择上传对象
git lfs track "*.safetensors" git lfs track "*.h5" # HDF5文件 git lfs track "*.hdf5" # HDF5文件 git lfs track "*.mat" # MATLAB数据文件 git lfs track "*.npz" # NumPy压缩文件 git lfs track "*.pkl" # Python pickle文件 git lfs track "*.joblib" # scikit-learn joblib文件 git lfs track "*.npy"这条命令会告诉 Git LFS 跟踪所有以
.safetensors结尾的文件。 -
跟踪所有上传(慎用):
git lfs track "."这条命令会跟踪当前目录下的所有文件。注意,这可能会跟踪很多文件,通常不推荐这样做,除非你确实需要跟踪所有文件。
-
验证使用:查看创建的 .gitattributes 文件
ls -la .gitattributes cat .gitattributes # 应显示: *.npy filter=lfs diff=lfs merge=lfs -text-
验证:
# 检查哪些文件被LFS跟踪 git check-attr -a kaggle/your_file.npy # 应显示: kaggle/your_file.npy: diff: lfs
-
-
-
添加并提交 LFS 配置
git add .gitattributes git commit -m "添加Git LFS跟踪.xxx文件" #自定义提交描述信息这条命令会将
.gitattributes文件添加到暂存区。这个文件通常用于定义哪些文件应该由 Git LFS 处理。 -
添加目录下所有文件变更(添加您的.npy文件)
git add . #所有变更这条命令会将当前目录下的所有变更(包括新文件、修改过的文件等)添加到暂存区。
git add kaggle/*.npy这个是自定义路径:添加您的.npy文件(假设在kaggle子目录)
-
提交你上面的更改:
-
你可以使用以下任一命令来提交更改
git commit -m "Configure Git LFS to track *.safetensors" git push origin main或 就是自定义提交描述不一样。
git commit -m "Configure Git LFS to track *.*" git push origin main这两条命令都会创建一个新的提交,描述信息分别为配置 Git LFS 跟踪
.safetensors文件和跟踪所有文件。 -
将本地更改提交到远程仓库分支:这条命令会将本地的更改推送到远程仓库的
main分支。
-
配置 LFS 缓存持久化
1. 设置全局缓存位置
# 创建缓存目录(选择大容量磁盘分区)
mkdir -p /mnt/big_disk/git-lfs-cache# 设置全局缓存
git config --global lfs.storage /mnt/big_disk/git-lfs-cache# 验证配置
git config --global --get lfs.storage
补充:
-
设置 Git 用户邮箱
git config user.email "guanzhu UP@example.com"这条命令用于设置 Git 用户的电子邮件地址。
-
设置 Git 用户名:
git config user.name "guanzhu UP"
得到这个 访问令牌
host=cnb.cool" | git credential-manager erase
修改已存在的 LFS 文件到普通仓库
-
找到 LFS 跟踪的文件
首先,需要确定哪些文件被 LFS 跟踪。可以通过以下命令查看git lfs ls-files这会列出所有被 LFS 跟踪的文件。
-
移除 LFS 跟踪
如果你想将某个文件从 LFS 跟踪中移除,可以使用以下命令git lfs untrack <file>例如,如果你想移除
largefile.zip,可以运行git lfs untrack largefile.zip
验证:检查 .gitattributes 中该文件的配置是否更新
cat .gitattributes | grep open-wfi-2/*.npy
- 注意:
- 若文件路径包含空格或特殊字符,需用引号包裹
git lfs untrack只会修改 .gitattributes 配置,不会自动修改已提交的历史
步骤 2:将文件添加到普通仓库
-
添加文件到普通仓库
现在文件已经不再被 LFS 跟踪,可以直接将其添加到普通仓库中git add <file> -
提交更
git commit -m "Move file from LFS to regular repository" -
推送更改
将更改推送到远程仓库git push
混沌合并
# 1. 保存当前状态(可选)
git stash# 2. 获取最新远程状态
git fetch origin# 3. 使用变基整合更改
git rebase origin/main# 4. 如果有冲突,解决后继续
git add .
git rebase --continue# 5. 恢复暂存的内容(如果有)
git stash pop# 6. 更新配置防止未来问题
git config --global pull.rebase true
.gitignore配置文件示例
# 忽略 .a 文件
*.a# 但否定忽略 lib.a, 尽管已经在前面忽略了 .a 文件
!lib.a# 仅在当前目录下忽略 TODO 文件, 但不包括子目录下的 subdir/TODO
/TODO# 忽略 build/ 文件夹下的所有文件
build/# 忽略 doc/notes.txt, 不包括 doc/server/arch.txt
doc/*.txt# 忽略所有的 .pdf 文件 在 doc/ directory 下的
doc/**/*.pdf
全网最详细-喂饭级 新人CNB平台文件上传教程 Git lfs+对象储存cos_哔哩哔哩_bilibili
