将 Git LFS Repo 添加为子模块时出现问题:未出现在 .gitmodules 中

问题描述 投票:0回答:1

我正在尝试添加一个使用 Git LFS 作为项目中子模块的 Git 存储库。当我运行

git submodule add <url_of_LFS_repo>
时,命令完成且没有错误,但子模块没有出现在
.gitmodules
文件中,并且
git status
中没有列出任何更改。

可能导致 Git LFS 存储库无法添加为子模块的原因是什么?如何解决此问题?

编辑:额外信息

  1. 首先,我克隆打算使用子模块的存储库。
  2. 我从存储库添加了一个子模块,该子模块工作正常并正确添加。
    git submodule add https://github.com/vladimirzb/Cs.Computacion.git
    
  3. 然后,我从使用 Git LFS 的存储库添加另一个子模块。它会下载内容,但不会将其添加为子模块。
    git submodule add https://github.com/vladimirzb/SecundariaORT.git
    

显示问题的视频:https://github.com/user-attachments/assets/bd99e88f-a5b5-4807-9f1e-672b07cc4930

这是

git lfs env
的输出:

~/D/G/Todos-Mis-Apuntes   ~…  git lfs env                           Wed 14 Aug 2024 03:53:12 AM -03
git-lfs/3.4.1 (GitHub; linux amd64; go 1.22.2)
git version 2.43.0

Endpoint=https://github.com/vladimirzb/Todos-Mis-Apuntes.git/info/lfs (auth=none)
LocalWorkingDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes
LocalGitDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes/.git
LocalGitStorageDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes/.git
LocalMediaDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes/.git/lfs/objects
LocalReferenceDirs=
TempDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes/.git/lfs/tmp
ConcurrentTransfers=8
TusTransfers=false
BasicTransfersOnly=false
SkipDownloadErrors=false
FetchRecentAlways=false
FetchRecentRefsDays=7
FetchRecentCommitsDays=0
FetchRecentRefsIncludeRemotes=true
PruneOffsetDays=3
PruneVerifyRemoteAlways=false
PruneRemoteName=origin
LfsStorageDir=/home/vladi/Documents/GitHub/Todos-Mis-Apuntes/.git/lfs
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic,lfs-standalone-file,ssh
UploadTransfers=basic,lfs-standalone-file,ssh
GIT_ASKPASS=/usr/share/code/resources/app/extensions/git/dist/askpass.sh
GIT_EXEC_PATH=/usr/lib/git-core
git config filter.lfs.process = "git-lfs filter-process"
git config filter.lfs.smudge = "git-lfs smudge -- %f"
git config filter.lfs.clean = "git-lfs clean -- %f"

这是

git config -l
的输出:

~/D/G/Todos-Mis-Apuntes   ~…  git config -l                         Wed 14 Aug 2024 03:53:14 AM -03
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
user.name=Vladimir Z.
user.email=****@users.noreply.github.com
core.repositoryformatversion=0
core.filemode=true
git github git-submodules git-lfs git-status
1个回答
0
投票

导致解决方案的对话:https://github.com/git-lfs/git-lfs/discussions/5844#discussioncomment-10377497 “感谢 @chrisd8088 推荐使用 GIT_TRACE=1。它对于诊断和解决我在使用 Git LFS 配置时遇到的问题很有帮助。您的建议帮助我理解了根本问题并指导我成功解决了问题。我最初遇到的问题是错误('git-lfs filter-process: 1: git-lfs: not found'),并且使用 GIT_TRACE=1 不仅表明 Git LFS 没有正确设置,而且还确认了子模块下载和添加过程实际上,尽管速度很慢,但这很重要,因为我最初认为该过程由于没有看到任何即时反馈而崩溃了,而不是仅在特定的存储库路径中运行,这就是我可以解决问题的原因。添加没有 Git LFS 的子模块,但是带有 LFS 的子模块不起作用,因为没有找到它,因为我没有全局运行 git lfs install ,感谢您引导我走向正确的方向!”

© www.soinside.com 2019 - 2024. All rights reserved.