带分支的 Git LFS 的工作流程是什么?

2024-03-15

我已将 Git LFS 引入到我在 bitbucket.org 上的一个存储库中。分叉此存储库的用户无法推送到他们的分叉,因为那里没有空间可容纳 LFS 文件。我的理解是,当您在那里分叉存储库时,LFS 文件不会被复制。

将 Git LFS 与 Bitbucket 结合使用是否意味着分叉不可能或至少可用?或者 Git 是否有特殊的工作流程/配置可以在这里提供帮助?

请注意,就我而言,我使用分叉主要是为了将上游工作持久化,但团队其他成员尚未准备好看到这些工作。例如,我会将未完成的工作推到那里,以便我可以在不同的物理位置继续进行。完成后,我将作品发布到origin供团队其他成员查看。


这是一个已知问题,请参阅Git LFS 与 Bitbucket 的当前限制 https://support.atlassian.com/bitbucket-cloud/docs/current-limitations-for-git-lfs-with-bitbucket/#CurrentlimitationsforGitLFSwithBitbucket-GitLFSfilesarenotcopiedwhenarepoisforked。我也希望 Bitbucket(和 Github!)能够改进这一点。

结果:

  • LFS 文件必须在 fork 和上游存储库之间手动同步
  • 分叉还将使用大量的大文件存储空间,而不仅仅是上游(有免费的存储配额 - 但在用完之后,您将不得不为每个分叉付费,ouch!)
  • 要将 LFS 文件从分支复制回上游,您需要对上游存储库进行写访问,或者上游所有者必须自己执行此操作

如何同步 LFS 文件:

  1. 第一次克隆 fork 存储库 - 它还没有复制任何 LFS 文件,因此您必须在没有 LFS 文件的情况下克隆它(否则克隆将失败)
export GIT_LFS_SKIP_SMUDGE=y
git clone <address of your fork>
  1. 同步上游 -> fork(将 LFS 文件复制到您的 fork)-最初和每次 git fetch 上游时
git lfs fetch --all <upstream>
git lfs push --all <fork>
  1. 同步 fork -> 上游(仅当前分支)-每次你的 PR 合并后
git lfs fetch <fork>
git lfs push <upstream>

如果有比这更好的工作流程,请告诉我。这是 Bitbucket LFS 处理的严重限制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带分支的 Git LFS 的工作流程是什么? 的相关文章

  • 如何查看上次提交和现在之间发生了什么变化(进行一些更改后)

    与此类似question https stackoverflow com questions 1552340 how to list the file names only that changed between two commits但
  • git在Windows和Linux之间切换后强制刷新索引

    我有一个Windows和Linux共享的磁盘分区 格式 NTFS 它包含一个 git 存储库 约 6 7 GB 如果我只使用Windows or 只使用Linux操作 git 存储库一切正常 但是每次切换系统的时候git status命令将
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • vscode通过SSH连接gitlab的问题

    我在尝试通过 SSH 连接到 GitLab 远程存储库时遇到问题 这里是迄今为止完成的步骤 成功生成 SSH 密钥 管理人员将密钥添加到存储库中 因此当我访问 GitLab 网站时 我可以提交和发布分支 我无法从 VSCODE 发布分支并收
  • 使用 TFS 个人访问令牌克隆 Git 存储库

    我正在尝试以编程方式克隆 git 存储库 我的 ASP NET MVC 应用程序正在创建并启动一个进程 处理进程的代码工作正常 但是当尝试使用本地 TFS PAT 克隆 git 存储库时 身份验证失败 我无法使用 NTLM 或要求用户输入凭
  • DVCS命令的统一

    当处理多个 开源 项目时 多个版本控制系统开始出现问题 虽然它们共享共同的操作 但我经常在输入时犯错误hg add反而git add 我记得前段时间看到过一个项目 通过提供基本命令以统一的方式访问不同的源代码控制软件提交 ci add等在外
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • 运行“git apply”时出错

    当我尝试时 您能否告诉我如何解决 补丁不适用 错误 git 应用补丁 git apply 0001 my patch error patch failed test xml 114 error text xml patch does not
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • git pull,忽略深度,如何不拉取整个历史记录?

    我们有一个巨大的多 GB git 存储库 主要是二进制对象 克隆需要几天时间 实际的主分支 没有历史记录 只有大约 20MB 所以我想 深度为 1 的 git 克隆就是解决办法 然而 现在我需要将某人的更新拉到主服务器 我们没有分支 当我拉
  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • git 匹配多个单词的标签

    我们可以得到最后一个 git 标签 它以一个单词 例如 TEST 开头 如下所示 git describe tag dirty match TEST 我想知道如何获得最后一个以 word1 开头的标签orword2 例如测试OR跑步 我尝试
  • 第一次使用node.js - “ReferenceError:节点未定义”

    我刚刚安装了node js 我尝试编写应该检查版本的node v 但它不起作用 这是输出 gt node v ReferenceError node is not defined at repl 1 2 at REPLServer self
  • VS 2015 + Bower:在防火墙后面不起作用

    Problem 在 Visual Studio 2015 中 使用 Bower 我的包在防火墙后面时恢复失败 并出现类似以下内容的错误 ECMDERR 无法执行 git ls remote tags heads git github com
  • 在 Azure DevOps 项目之间移动存储库时保留拉取请求

    我在同一帐户内有两个 Azure DevOps 项目 我想将存储库从一个项目移动到另一个项目 这一页探索如何在具有完全保真历史记录的团队项目之间移动 git 存储库 https learn microsoft com en us azure
  • 创建一个空分支?

    我有一个包含项目的 git 存储库 我现在要对这个项目进行大规模的修改 如何为这次大修创建一个空白的新分支 然后当完成时 如何将这个分支切换到master 使用 checkout orphan 命令 git checkout orphan
  • Git 提交失败:“请使用 -m 或 -F 选项提供消息。”

    当我键入 git commit 命令来提交文件时 我收到以下错误消息 Microsoft Visual Studio 微软 找不到命令 错误 核心编辑器 Microsoft Visual Studio 存在问题 请使用 m 或 F 选项提供

随机推荐

  • 连接Redis集群失败

    我已经设置了 Redis 集群谷歌计算引擎 http console developers google com by 点击部署 https cloud google com solutions redis click to deploy
  • 获取 WhatsApp 消息

    是否可以创建一个监听器来获取消息whatsApp在安卓中 我的意思是就像你有一个broadcastReceiver在android中收听传入的短信 这件事是否需要任何 API 或者这是合法的事情 还是我需要获得任何许可whatsApp Wh
  • 如何在没有源代码的情况下在类中放置断点?

    我有一个 Web 应用程序 我需要找到访问 http 请求对象的所有类 因为其中一个类导致了难以发现的错误 因此我想在ServletRequest实现的一些方法中放置断点 然而 这个实现是由 Weblogic 提供的 我没有其来源 如何在没
  • GeoChart:标记加载速度非常慢

    google charts load current packages geochart google charts setOnLoadCallback drawRegionsMap function drawRegionsMap var
  • 使用 iconv 将 UTF8 转换为 UTF16

    当我使用 iconv 从 UTF16 转换为 UTF8 时 一切都很好 但反之亦然 它不起作用 我有这些文件 a 16 strings Little endian UTF 16 Unicode c program text a 8 stri
  • Android-布局的正确定位

    我似乎无法按照我想要的方式正确定位我的布局 我的布局看起来像这样 LinearLayout LinearLayout ListView LinearLayout TextView TextView TextView Button 我的目标是
  • 如何更改全局 .vscode 文件夹的位置?

    我正在 Linux 上设置 Visual Studio Code 由于机器是共享的 我的 HOME文件夹的大小受到限制 没有空间容纳扩展名 存储在 HOME vscode 我尝试安装它们失败了 我在其他开发目录上确实有足够的空间 但我找不到
  • 从 Android 通讯录中删除联系人

    我正在尝试从手机通讯录中删除联系人 该联系人会从手机联系人中删除 但不会从服务器端 Google 联系人 中删除 并且当 Google 联系人同步触发时 已删除的联系人会重新出现 下面是我的代码 public static void del
  • BIRT:无法检索 XML 数据源。 XML 数据源文件无效或该文件不存在

    我创建了一个 XML 数据源 用于从本地应用程序获取 XML 数据 创建数据集时出现以下错误 org eclipse datatools connectivity oda OdaException XML data source canno
  • Python:剥离除数字之外的所有内容

    我必须从几个字符串中的每个字符串中提取一个数字 测量的时间值 我怎样才能优雅地做到这一点 所有数字均为正数 且最多保留两位小数 例如 2 3 40 09 101 4 E 表示法中没有数字 我正在寻找的代码应该执行类似于以下伪代码的操作 gt
  • Swift 中未宣布辅助功能自定义操作

    当我添加accessibilityCustomActions对于一个对象 它在设备上可以正常工作 只要能够上下滑动操作并选择它们 但没有任何公告表明有 可用操作 我应该将其写入accessibilityLabel myself 我认为通过将
  • 如何查明实体框架对象是否已更改?

    我有一个叫做Uczestnik刚刚保存到数据库 var konsultant uczestnik Konsultanci uczestnik Konsultanci null null attached object and reuse i
  • 如何检测仅包含空格的字符串?

    包含一个空格的字符串长度始终等于 1 alert My str length str length 空格是一个字符 所以 str alert My str length str length My str length 3 如何区分空字符串
  • 使用 Dygraphs 绘制图表:根据缩放进行数据采样

    尽管与其他解决方案相比 Dygraphs 的性能非常好 但当查看越来越多的数据点时 性能不可避免地会变慢 我已经在本地加载了所有数据 Dygraphs 有没有办法智能地显示较低的分辨率 就数据点数量而言 然后在缩放时显示更多内容 虽然没有内
  • 同一解决方案中的 MVC 和 Web API 项目

    我不久前创建了一个解决方案 其中包含一个 Web API 2 项目 向移动设备提供 JSON 数据 和一个类库 包括我的数据访问服务 Web API 项目使用 Ninject 进行 DI 一切正常 现在我需要为几个网页添加一个单独的 MVC
  • 如何在 Odoo 12 中使用 Python XML-RPC 注册付款

    首先我创建了这个函数 def invoiceRegisterPayment self register payment row confirm result self ODOO OBJECT execute kw self DATA sel
  • 如何设置SBT的默认项目

    假设我有一个包含三个项目的构建 A B 和 C 如果我当前处于 A 的上下文中并重新加载构建 则重新加载后可能会将上下文更改为 C 因此 每次重新加载后我都必须更改项目上下文 有没有办法将特定项目设置为默认上下文 SBT 选择第一个词法项目
  • 来自服务器的错误:拨打后端时出错:拨打 tcp 10.9.84.149:10250: getsockopt: 连接被拒绝

    我有一个包含三个节点的 kubernetes 集群 10 9 84 149 10 9 105 90 and 10 9 84 149 当我的应用程序尝试在某个 pod 内执行命令时 kuebctl exec it
  • 使用 powershell 合并两个相似但两列不同的表

    我需要连接在 Powershell 中创建的两个表 问题在于 在它们共享的 5 列中 每个表中有两列不同 我怎样才能连接这两个表 然后能够对它们进行排序 我猜我会让两个人做以下事情 例子 表格1 列 a b c d e 表2 a x c d
  • 带分支的 Git LFS 的工作流程是什么?

    我已将 Git LFS 引入到我在 bitbucket org 上的一个存储库中 分叉此存储库的用户无法推送到他们的分叉 因为那里没有空间可容纳 LFS 文件 我的理解是 当您在那里分叉存储库时 LFS 文件不会被复制 将 Git LFS