- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有大文件并尝试使用新的 Git LFS 系统。
我发布了这个问题 - Git lfs - "this exceeds GitHub's file size limit of 100.00 MB"
Edward Thomson 正确地识别了我的问题 - 您不能追溯使用 LFS。他建议我使用 BFG LFS support
这在一定程度上起到了作用。我的绝大多数文件是变了。但是,有未更改的 protected 提交。
在这些 protected 提交中,有些超过 100.00MB,因此导致来自 github 的 remote:error
Protected commits
-----------------
These are your protected commits, and so their contents will NOT be altered:
* commit c7cd871b (protected by 'HEAD') - contains 165 dirty files :
- Directions_api/Applications/LTDS/Cycling/Leisure/l__cyc.csv (147.3 KB)
- Directions_api/Applications/LTDS/Cycling/Work/w_cyc.csv (434.0 KB)
- ...
WARNING: The dirty content above may be removed from other commits, but as
the *protected* commits still use it, it will STILL exist in your repository.
If you *really* want this content gone, make a manual commit that removes it,
and then run the BFG on a fresh copy of your repo.
首先 - 有人可以解释为什么这些提交受到保护并且与 BFG 成功更改的提交不同吗?
其次 - 我怎样才能解除这些保护并允许 BFG 编辑它们,从而使我能够正确使用 LFS 并最终成功推送到 GitHub
最佳答案
BFG 最初是作为一种工具创建的,用于销毁 深埋在 Git 历史中的不需要的数据(大文件、密码)。 BFG 运行后数据将消失,并且程序通常需要调整以处理不再直接可用的数据(即必须更改它们以从环境变量中读取密码,或下载大依赖)。调整程序来处理这些变化并不是一个可以轻松实现自动化的步骤 - 人类需要更新代码来应对这种变化!
我决定默认假设项目是“改革的”——他们在过去犯过错误,但当用户开始发现 BFG 时,他们已经意识到他们的错误并且至少会清理更新他们最新的提交(即他们已经提交删除不需要的数据,作为解决问题的第一步)。因此,对于 BFG 来说,不更改最新提交是更安全 - 另一种选择是 BFG 盲目地踩踏历史上的所有内容,包括项目的最新版本,并且实际上 破坏 尚未准备好处理从 env 变量等读取密码的软件。
可以通过添加 --no-blob-protection
标志来禁用此行为,例如:
$ java -jar ~/bfg-1.12.7.jar --convert-to-git-lfs '*.{exe,dll}' --no-blob-protection
我计划更新 BFG 以在 --convert-to-git-lfs
是唯一的操作时隐式使用 --no-blob-protection
标志已执行 - 因为这不再是真正的破坏性操作。
完全披露:我是 BFG Repo-Cleaner 的作者。
关于Git BFG 追溯启用 LFS - protected 提交问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671523/
我有一个使用 git-lfs 存储一些大文件的存储库的工作副本。我安装了 git-lfs 二进制文件,但可能没有在工作副本中运行“git lfs install”。当我想在添加 lfs 文件后更新我的
我试图找到一种方法来确定 git 存储库中的文件是否由 git-lfs 正确管理。 到目前为止,我发现比较 git lfs ls-files 和 git ls-files ':(attr:filter
我正在尝试通过以下方式从 git 克隆一个项目: git clone link 并收到了这条消息 remote: Enumerating objects: 24533, done. remote: C
我有一个本地存储库,其中跟踪了一堆 git-lfs 文件。它是使用 git-lfs 版本 2.1.0 创建的。 如果我尝试使用 git-lfs 版本 1.5.6 对该存储库进行结帐,则会收到错误:
我的小组正在与另一个小组合作开展一个项目,我们为合作建立了一个 GitHub 组织。现在协作结束了,我们即将从 GitHub 中删除该组织,我需要为我的团队工作的存储库创建一个本地副本。 我的理解是g
我们在 gitlab 中有一个启用了 git-lfs 的存储库,它工作得很好。它很好地分离了 pdf、电影和其他我们不想进行版本管理的内容。 出现用户错误,有人在未启用 git-lfs 支持的系统上克
我刚刚从 https://github.com/git-lfs/git-lfs/releases 更新了我安装的 Git LFS到最新版本(2.3.0)。但是,当我运行 git lfs version
我刚刚从 https://github.com/git-lfs/git-lfs/releases 更新了我安装的 Git LFS到最新版本(2.3.0)。但是,当我运行 git lfs version
对于 GitHub 上的存储库,GitKraken 显示: This repository requires LFS but you do not have LFS installed. Modify
事情是这样的: 不小心提交了很多本不该提交的文件。 是否执行了 git reset --soft HEAD~2 以返回到事故发生前的提交 修改 gitignore 以忽略文件 再次提交并推送到原点。
在 Bitbucket 服务器上托管了 LFS git 存储库。现在我们需要创建新的 LFS 存储库并使用 LFS 存储将存储库移动到那里。 如何做到这一点? 例如对于普通的 repo 我们可以这样做
fatal: 'lfs' appears to be a git command, but we were not able to execute it. Maybe git-lfs is broke
我尝试了很多命令,但都不起作用: java -jar bfg-1.13.0.jar --convert-to-git-lfs 'lib/**' --no-blob-protection java -j
我有一个相当大的存储库,需要很长时间才能从远程克隆。我决定我可能会从 Git LFS 中受益,所以我去迁移了 repo。但是,在迁移、推送和重新克隆之后,存储库占用的磁盘空间比原始存储库多。 FS 上
我们希望将特定目录从一个 git 存储库移动到另一个。我找到了 these instructions ,直到从远程分支中 pull 出为止,一切顺利;似乎让 git-lfs 跟踪两边的文件会使过程稍微
我们希望将特定目录从一个 git 存储库移动到另一个。我找到了 these instructions ,直到从远程分支中 pull 出为止,一切顺利;似乎让 git-lfs 跟踪两边的文件会使过程稍微
当使用 Git LFS 将大文件推送到 git 存储库时,系统上没有安装 git-lfs 的用户是否可以在不进行任何额外设置的情况下克隆它? 最佳答案 我只是尝试按照您的建议去做。我使用 Git LF
请帮助我理解以下错误消息的含义以及如何遵守其要求。 我想复制一个现有的本地 git 仓库;然后将该副本推送到新创建的远程。 但是我得到以下错误: This repository is configur
故事是这样的,我们在 GitHub 上工作,并且正在使用 GitDesktop 1.0.10。 我们还使用来自 https://github.com/blog/2432-git-lfs-2-3-0-r
这个问题的另一个标题可以是“如何 check out 一个 Git-LFS 管理文件的多个版本?” 我想检查存储在 Git-LFS 中的文件的多个版本。因此,我想在我的工作目录中并排放置此文件的多个版
我是一名优秀的程序员,十分优秀!