问题标签 [git-annex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11877 浏览

git - Git LFS 和 git-annex 有何不同?

git-annex已经存在了很长一段时间,但从未真正获得动力。
Git LFS相当年轻,已经得到 GitHub、Bitbucket 和 GitLab 的支持。

这两个工具都处理 git 存储库中的二进制文件。另一方面,GitLab 似乎在一年内用Git LFS取代了git-annex 。

  • 有哪些技术差异?
  • 他们解决了同样的问题吗?
0 投票
0 回答
107 浏览

git - 重命名 Git 附件中的文件名称太长而无法在当前文件系统上检出

我在 Git 中有一堆文件,使用 Git Annex(它基本上用符号链接替换所有文件,让你只在需要时获取内容)。

我在一台机器上用一些文件填充了一个 repo,我试图将它们同步到另一台机器上,运行带有主目录加密的 Ubuntu 12.04。

当我运行时,git annex sync我得到这样的错误:

同步失败是可以理解的,因为它无法创建应该存在的所有文件。

显然我需要将长名称的文件重命名为更短的名称。但是git mv不起作用,大概是因为无法签出文件:

如何创建提交以更改无法以其当前名称签出的文件的名称?

注意:包含“在不同的文件系统或机器上检查”的答案不是我想要的,也不会被接受。我知道如果我将 repo 移动到未加密的挂载上,或者只是回到我添加文件的机器上,我可以重命名文件。我想知道如何在不将整个 repo 移动到不同的文件系统的情况下处理这个问题。

0 投票
1 回答
315 浏览

git - 如何从 Git-Annex 迁移到 Git LFS

如何迁移使用 Git-annex 管理大文件的存储库以使用 Git LFS 管理它们?

我应该运行哪些命令来禁用附件并启用 LFS?

0 投票
1 回答
155 浏览

linux - git-annex 使用来自不同位置的文件

我的理解是,当我执行时git annex add somefile,它会为该文件创建一个符号链接并将其放在.git/annex/objects文件夹中。然后,当我在某个不同的位置初始化git-annex并将其与前一个位置同步时,它会下载一个损坏的符号链接,除非我这样做git annex sync --content,这会生成文件的完整副本。

我需要在一个位置保存大文件,比如说在 USB 驱动器上,以及多个使用大文件的 git 存储库。所以我只想在那些 git repos 中拥有指向大文件的符号链接。如何执行syncsogit-annex下载指向单个位置文件的有效符号链接?

0 投票
1 回答
622 浏览

git - 从 LFS 迁移到附件

在截止日期前的谵妄时刻,我将一个大型(> 100 MB)二进制文件添加到一个存储库中,该存储库在私有主机和 github 上都有遥控器。当然,github 抱怨,天真地相信他们的建议,我选择使用 LFS。

经过两三次提交后:我的存储库达到了github 的 LFS 数据配额,我不得不将我的所有遥控器重命名为origin,必须为所有遥控器显式添加我的所有.ssh/config信息git remote set-url,并且不能再通过 ssh* 使用任何其他计算机作为遥控器。

我目前的状态是:在我的主要工作本地存储库中有几个提交,其中一些包含 LFS 文件。直到最后几次提交,它们都被推送到 github(直到我达到配额),然后可以手动将其从 github 拉到我的其他遥控器,但不能从我的本地推送到它们。由于配额,我无法绕过 github 将我的文件发送到其他遥控器。

如何清理 LFS 的 repo 以便我可以使用 git-annex?理想情况下,在第一次 LFS 提交之前没有完全变基,但我认为这是不可避免的。那么,我的问题是如何从 Git-Annex 迁移到 Git LFS 的反面,因为我似乎错过了潮流。

我很高兴地相信 LFS 在某种程度上对我的案例实际上是有用的。


*我在任何地方都找不到最后一个问题的记录,仅在此答案中提到并通过各种错误消息暗示(但未直接说明)。当然,如果这被记录在案,我一开始就不会选择 LFS,因为它使 git 再次有效地集中。

0 投票
2 回答
436 浏览

git - 为什么 git 附件不会死?

很久以前(无论如何,几个月),我在存储库上初始化了 git-annex,原因现在我无法理解。我以为我设法摆脱了它,但今天我发现它仍然存在,并且存储库中的任何新目录都被“附加”了——如果我在存储库的任何地方创建一个新文件,我可以编辑它一次然后保存后,它会存储为 git-annex 对象:

我阅读了从文件树中删除 git-annex 存储库中的说明,并尝试git annex uninit了以下内容:

于是我删.git/annex了又跑git annex uninit了。试图创建一个新文件并且......它是一个 git 附件对象。我觉得我被沼泽的东西缠住了。我到底怎么让它死?

我尝试git-annex在 Synaptic 中完全删除,但一个新文件仍会立即转换为.git/annex/

0 投票
1 回答
107 浏览

git - 远程 ssh 密钥身份验证的权限错误:git 附件获取文件

我正在使用 git-annex 建立一个以 git 命令为接口的文件分发系统。我已经使用 .ssh 密钥配置了一个 unix 用户帐户,以便自动验证对 git 远程的调用。我已经为该用户帐户设置了所有权和权限。我可以使用该帐户 ssh 进入遥控器没有问题。但是当我运行git annex get从附件中检索源数据时,我得到了一个典型的权限错误。我尝试chown'ingchmod'ing很多组合,但总是得到同样的错误。寻求帮助来诊断和解决此问题。让我知道我是否可以运行其他命令来磨练。

参考:

http://git-annex.branchable.com/walkthrough/using_ssh_remotes/

0 投票
1 回答
35 浏览

git - git附件:'put'功能而不是'get'

git 附件文档给出了一个使用示例get

https://git-annex.branchable.com/walkthrough/#index5h2

有没有相反的方法,即一旦与名为“laptop”的远程repo同步,直接将实际文件内容直接放入“laptop”的附件存储中?例如

0 投票
1 回答
59 浏览

amazon-s3 - 初始化远程 S3 存储库时出现 Git 附件 400 错误

我正在尝试使用以下方法初始化git 附件远程存储库:

但我收到以下错误:

initremote cloud (检查桶...) (在美国创建桶...) git-annex: S3Error {s3StatusCode = Status {statusCode = 400, statusMessage = "Bad Request"}, s3ErrorCode = "InvalidRequest", s3ErrorMessage = "The不支持您提供的授权机制。请使用 AWS4-HMAC-SHA256.", s3ErrorResource = Nothing, s3ErrorHostId = Just "", s3ErrorAccessKeyId = Nothing, s3ErrorStringToSign = Nothing, s3ErrorBucket = Nothing, s3ErrorEndpointRaw = Nothing, s3ErrorEndpoint = Nothing}

我正在遵循本手册

我该如何解决这个问题?

0 投票
2 回答
83 浏览

git - 基于文件扩展名的备用散列函数

只要关联的播放列表,我想使用 git 来跟踪媒体文件。跟踪播放列表很容易,因为这些是文本文件。关于二进制文件,我已经看过 git-lfs 和 git-annex,但想探索以下方式:

Flac 文件提供内部 md5 哈希。这样的哈希可以通过

考虑到性能,我想要求 git 使用“flac md5 hash”,而不是 git 内部哈希。

怎么可能做这样的事情?

我已经阅读了 gitattributes 文档,但没有找到答案。

PS:第一个目标是获得闪电般的快速性能。第二个目标是忽略对文件的任何元数据更改。