问题标签 [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.
git - Git LFS 和 git-annex 有何不同?
git-annex已经存在了很长一段时间,但从未真正获得动力。
Git LFS相当年轻,已经得到 GitHub、Bitbucket 和 GitLab 的支持。
这两个工具都处理 git 存储库中的二进制文件。另一方面,GitLab 似乎在一年内用Git LFS取代了git-annex 。
- 有哪些技术差异?
- 他们解决了同样的问题吗?
git - 重命名 Git 附件中的文件名称太长而无法在当前文件系统上检出
我在 Git 中有一堆文件,使用 Git Annex(它基本上用符号链接替换所有文件,让你只在需要时获取内容)。
我在一台机器上用一些文件填充了一个 repo,我试图将它们同步到另一台机器上,运行带有主目录加密的 Ubuntu 12.04。
当我运行时,git annex sync
我得到这样的错误:
同步失败是可以理解的,因为它无法创建应该存在的所有文件。
显然我需要将长名称的文件重命名为更短的名称。但是git mv
不起作用,大概是因为无法签出文件:
如何创建提交以更改无法以其当前名称签出的文件的名称?
注意:包含“在不同的文件系统或机器上检查”的答案不是我想要的,也不会被接受。我知道如果我将 repo 移动到未加密的挂载上,或者只是回到我添加文件的机器上,我可以重命名文件。我想知道如何在不将整个 repo 移动到不同的文件系统的情况下处理这个问题。
git - 如何从 Git-Annex 迁移到 Git LFS
如何迁移使用 Git-annex 管理大文件的存储库以使用 Git LFS 管理它们?
我应该运行哪些命令来禁用附件并启用 LFS?
linux - git-annex 使用来自不同位置的文件
我的理解是,当我执行时git annex add somefile
,它会为该文件创建一个符号链接并将其放在.git/annex/objects
文件夹中。然后,当我在某个不同的位置初始化git-annex
并将其与前一个位置同步时,它会下载一个损坏的符号链接,除非我这样做git annex sync --content
,这会生成文件的完整副本。
我需要在一个位置保存大文件,比如说在 USB 驱动器上,以及多个使用大文件的 git 存储库。所以我只想在那些 git repos 中拥有指向大文件的符号链接。如何执行sync
sogit-annex
下载指向单个位置文件的有效符号链接?
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 再次有效地集中。
git - 为什么 git 附件不会死?
很久以前(无论如何,几个月),我在存储库上初始化了 git-annex,原因现在我无法理解。我以为我设法摆脱了它,但今天我发现它仍然存在,并且存储库中的任何新目录都被“附加”了——如果我在存储库的任何地方创建一个新文件,我可以编辑它一次然后保存后,它会存储为 git-annex 对象:
我阅读了从文件树中删除 git-annex 存储库中的说明,并尝试git annex uninit
了以下内容:
于是我删.git/annex
了又跑git annex uninit
了。试图创建一个新文件并且......它是一个 git 附件对象。我觉得我被沼泽的东西缠住了。我到底怎么让它死?
我尝试git-annex
在 Synaptic 中完全删除,但一个新文件仍会立即转换为.git/annex/
git - 远程 ssh 密钥身份验证的权限错误:git 附件获取文件
我正在使用 git-annex 建立一个以 git 命令为接口的文件分发系统。我已经使用 .ssh 密钥配置了一个 unix 用户帐户,以便自动验证对 git 远程的调用。我已经为该用户帐户设置了所有权和权限。我可以使用该帐户 ssh 进入遥控器没有问题。但是当我运行git annex get
从附件中检索源数据时,我得到了一个典型的权限错误。我尝试chown'ing
了chmod'ing
很多组合,但总是得到同样的错误。寻求帮助来诊断和解决此问题。让我知道我是否可以运行其他命令来磨练。
参考:
http://git-annex.branchable.com/walkthrough/using_ssh_remotes/
git - git附件:'put'功能而不是'get'
git 附件文档给出了一个使用示例get
:
https://git-annex.branchable.com/walkthrough/#index5h2
有没有相反的方法,即一旦与名为“laptop”的远程repo同步,直接将实际文件内容直接放入“laptop”的附件存储中?例如
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}
我正在遵循本手册。
我该如何解决这个问题?
git - 基于文件扩展名的备用散列函数
只要关联的播放列表,我想使用 git 来跟踪媒体文件。跟踪播放列表很容易,因为这些是文本文件。关于二进制文件,我已经看过 git-lfs 和 git-annex,但想探索以下方式:
Flac 文件提供内部 md5 哈希。这样的哈希可以通过
考虑到性能,我想要求 git 使用“flac md5 hash”,而不是 git 内部哈希。
怎么可能做这样的事情?
我已经阅读了 gitattributes 文档,但没有找到答案。
PS:第一个目标是获得闪电般的快速性能。第二个目标是忽略对文件的任何元数据更改。