gpt4 book ai didi

git - 什么是 git-annex 的良好工作流程?

转载 作者:太空狗 更新时间:2023-10-29 14:18:57 24 4
gpt4 key购买 nike

我们的开发团队一直在使用 git 进行版本控制,并使用 git-annex 存储大型二进制文件(数据二进制文件、图像、测试二进制文件等)。虽然我们已经能够设置和使用它,但我们遇到了一系列麻烦。

我们经常执行的给我们带来麻烦的常见操作是:

  1. 开发人员 1 为新功能添加了一些测试,并使用 git-annex 为测试添加了相应的数据。

    git add <test-file>
    git annex add <data-file>
    git annex copy <data-file> --to=<remote location(we use s3 if that is relevant)>
    git commit -m 'Tests with data'
    git push
    git annex sync
  2. 工作经过审查和 merge (我们使用 Github 进行托管并遵循 fork 模型,其中所有工作都由开发人员在自己的 fork 上完成,并通过 Pull 请求 merge 到主存储库中)

  3. 开发人员 2 获取/merge 上游并尝试在他的机器上运行测试。

    git fetch upstream
    git merge upstream/<branch>
    git annex sync
    git annex get

我们经常以测试数据未在 git 中跟踪或无法从远程位置下载而告终。

在我们的工作流程中使用 git-annex 的好方法是什么?

顺便说一句,还有哪些其他选项可以使此类工作流更好/更易于管理?

最佳答案

好的,我们开始:

手册 git annex v6 使用:

服务器 1 和服务器 2:

mkdir testdata
cd testdata
git init
git annex init "LocationNameIdentifyer"
git annex upgrade
git remote add OtherServerLocationNameIdentifyer ssh://otherserver.com/thedir

当此设置准备就绪并且目录中没有额外的文件时,您现在可以运行

git annex sync --content

如果两个位置都有文件你需要做

git add --all 

在两个位置跟踪当前文件作为所谓的解锁文件

之后

git annex sync --content 

假设在两个位置都运行了 3 次

所有内容都已 merge ,您现在可以在两个位置执行 cron git annex sync --content,并且在工作树中都有相同的文件,如果您想跟踪放在某个位置的新文件,您执行 git add 而不是 git annex add git annex添加会将文件添加为所谓的锁定文件,从而形成一个完整的其他工作流程

关于git - 什么是 git-annex 的良好工作流程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27582468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com