标签: git-lfs

如何将 git lfs 与 Visual Studio Team Services 托管的生成代理一起使用

我使用 git lfs 来存储我的 git repo 的大文件。然后我尝试使用托管代理构建这个 repo。我的构建非常简单。它只有一个任务:执行 PowerShell。在调用的脚本中,我想做的第一件事是获取我的 lfs 依赖项。因此,我的脚本中有以下内容:

& git lfs fetch
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的构建失败并出现以下错误:

2016-03-04T19:49:05.7021988Z ##[error]git: 'lfs' is not a git command. See 'git --help'.
2016-03-04T19:49:05.7031986Z ##[error]Did you mean this?
2016-03-04T19:49:05.7041987Z ##[error]  flow
Run Code Online (Sandbox Code Playgroud)

由于我无法在托管代理上安装任何东西,我应该如何让 git lfs 可用?

编辑 在这个问题中,我不是在谈论这里描述的 git lfs 身份验证问题。我严格说的是调用的问题git lfs

一旦您能够调用git lfs,请查看此答案以解决身份验证问题。

git-lfs azure-devops azure-pipelines

5
推荐指数
1
解决办法
3726
查看次数

克隆gitlab项目,使用git lfs而不是一直提供密码

我决定在gitlab上尝试git lfs.我注意到它不适用于ssh所以我决定使用https.Push工作正常,但当我尝试克隆我的项目时,它要求我输入每个文件的用户名和密码.

那有点烦人.它有什么解决方法吗?


编辑2018年

这个问题持续存在,真正的解决方案在哪里?它有简单直接的配方吗?

链接https://git-scm.com/docs/gitcredentialsgit-lfs/wiki/Tutorial可能有些东西,但没有客观解决方案.

我描述的情况git lfs env,

git-lfs/2.4.0 (GitHub; linux amd64; go 1.8.3)
git version 2.7.4

LocalWorkingDir=
LocalGitDir=
LocalGitStorageDir=
LocalMediaDir=lfs/objects
LocalReferenceDir=
TempDir=lfs/tmp
ConcurrentTransfers=3
TusTransfers=false
BasicTransfersOnly=false
SkipDownloadErrors=false
FetchRecentAlways=false
FetchRecentRefsDays=7
FetchRecentCommitsDays=0
FetchRecentRefsIncludeRemotes=true
PruneOffsetDays=3
PruneVerifyRemoteAlways=false
PruneRemoteName=origin
LfsStorageDir=lfs
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic
UploadTransfers=basic
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"
Run Code Online (Sandbox Code Playgroud)

当我做git clone https://github.com/myPrivate/project1 问题克隆过程不完整(错误),并一直在 给用户和密码 ...

尝试做凭证时也出现问题(参见 …

git gitlab git-lfs

5
推荐指数
1
解决办法
1162
查看次数

如何归档使用 LFS 的 git 存储库?

我希望将 git 存储库存档到客户端的常规文件服务器。

以前我曾经git bundle create [path] --all 这样做过,而且效果很好。

但是,此存储库使用 Git LFS,并且 LFS 文件不包含在使用上述命令创建的包中。

  1. 如何轻松导出存储库的所有提交、分支和历史记录,包括 LFS 文件?
  2. LFS 可以做到这一点吗?

git github git-bundle git-lfs

5
推荐指数
1
解决办法
1143
查看次数

查找并删除太大的文件以推入 git lfs

我有一个承诺,我正在努力推动它。我得到这个回应

Git LFS: (0 of 9 files, 9 skipped) 0 B / 3.24 GB, 3.24 GB skipped
[422] Size must be less than 2147483648
[0ee4f2bc4d42d98ea0e7b5aeba2762c7482f3bcf00739d40b922babe8061820b] Size must be less than 2147483648
error: failed to push some refs to ...
Run Code Online (Sandbox Code Playgroud)

这些是什么文件?

如何从我的提交中找到并删除它们,以便我可以推送所有这些文件?

git git-lfs

5
推荐指数
1
解决办法
2077
查看次数

用LFS初始化裸git存储库

我想在支持git LFS协议的外部驱动器(git init --bare reponame)上初始化几个本地git存储库。即克隆这些文件后,我希望能够通过LFS跟踪大文件(然后,文件的版本应存储在外部驱动器上)

这样做没有任何其他步骤是行不通的(即克隆空仓库,使用git LFS跟踪大文件,然后尝试推送到远程):

Git LFS: (0 of 122 files) 0 B / 157.56 MB
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
      unsupported protocol scheme ""
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
      unsupported protocol scheme ""
error: failed to push some refs to '/media/me/bigdrive/git_repos/coding'`
Run Code Online (Sandbox Code Playgroud)

我找不到有关如何执行此操作的指南,LFS手册页似乎没有提供解决方案。GitHub / BitBucket指南仅说明了如何在本地存储库上执行此操作,然后在其服务器上推送到正确配置的git存储库

感谢任何帮助,谢谢!

git github git-lfs

5
推荐指数
1
解决办法
1856
查看次数

Git LFS 要求每个跟踪文件的密码

我在使用 OSX 的 Bitbucket 中使用 Git LFS(尽管我在 Ubuntu 上发现了同样的问题)。

我的 repo 包含许多使用 Git LFS 存储的文件

当我执行 git clone 时,它​​会要求我为每个使用 Git LFS 跟踪的文件输入密码。这是一个大问题,因为我可以使用 Git LFS 存储数百个文件。

请注意,未使用 Git LFS 跟踪的文件没有问题。

我该如何解决这个问题?

git git-lfs

5
推荐指数
2
解决办法
1721
查看次数

如何在存储库中停止使用Git LFS

我最近在主存储库中设置了Git LFS,到目前为止,它没有任何问题。最重要的是,我们仅将其设置为阻止单独构建回购上的膨胀效果(为了支持新流程而逐渐消失)。

此时的主要问题(以及其他问题)是,我们试图开始将构建从主存储库推送到Acquia存储库(这是Acquia部署所必需的)。Acquia不支持Git LFS,因此我没有时间与之抗争,也没有与可能影响这种变化的任何人争辩主机解决方案的优点(这是我们已经拥有并有一段时间了)。

我只想删除它,似乎只删除了一部分。似乎在线文档充其量也很少。

这是我所做的:

  1. git lfs untrack *
  2. 然后 git lfs uninstall
  3. 最后,我将.gitattributes文件还原到先前的状态

我把它推高了,在本地看来,它消除了很多对象跟踪(通过我进入.git/lfs并扎根文件夹结构的优点)。跑步git lfs ls-files根本不显示任何信息。

但是,当我将其拉到一个单独的克隆中时,当我尝试推送到Acquia时,它仍然显示有上千个文件仍在跟踪中,但由于Acquia不支持该文件而失败。迷人,我知道。

我怀疑完全删除它会删除该.git/lfs目录或至少其中的内容。如果没有别的,它应该消除克隆中的跟踪,从而拉下更改。它不是。

我认为我可能缺少将文件指针改回原来状态的步骤,但是我不确定我还能安全地做什么。我想保持它跟踪的文件。我的回购托管在Bitbucket云上。

git bitbucket acquia git-lfs

5
推荐指数
1
解决办法
420
查看次数

Git保留哪些类型的二进制文件增量?

我们正在处理一个需要迁移到Git的大型项目.不幸的是,它包含大量的二进制文件,其中一些是zip-s,dll-s等等.目前,无法从版本控制系统中删除这些二进制文件.

我想了解更多关于Git如何保持二进制文件的增量以及是否以及它不存在的增量.我知道这可以通过.gitattributes文件进行配置,但是文件类型是否需要明确列出,或者是否有一个预先定义的默认设置,它可以识别并自动处理......?

git git-lfs

5
推荐指数
1
解决办法
1088
查看次数

使用Google Drive,Dropbox等的Git LFS吗?

我正在Unity中开发游戏,因此我的项目包含美术资产。因此,我必须使用Git LFS,但是我很快就会用完1 GB。(这是由BitBucket给出的。+1 GB并不是很多,而且也很贵。)

有没有办法将我的LFS内容存储在Google Drive,Dropbox,某些Azure服务或容量超过1 GB的类似内容上?

(Dropbox不是首选,因为他们提供的最便宜的计划是1 TB,我认为在2.5 GB的免费计划之后,这有点陡峭)

编辑:我刚刚迁移到GitLab,因为它免费提供10 GB。

git dropbox unity-game-engine google-drive-api git-lfs

5
推荐指数
1
解决办法
835
查看次数

squash提交释放Git LFS存储吗

我发现自己在问一个问题:

  • 如果我们知道git lfs要跟踪每个二进制文件的每个版本的完整副本(AFAIK);

  • 我们的功能分支之一包含对同一组大型二进制文件的许多编辑;

  • 然后,在压扁并合并(例如,作为单个提交合并)并删除此功能分支之后,我们最终是否会在远程仓库上释放存储?

git lfs prune当不再使用二进制文件时,AFAIK 应该释放本地存储库;如果没有对这些较旧版本的二进制文件的引用,远程存储库是否知道要释放存储库?)

git git-lfs

5
推荐指数
1
解决办法
106
查看次数