到目前为止,我已经花了很多时间尝试使用 LFS 从命令行将 Neo4j 数据库上传到 GitHub。git init
第一次创建本地存储库并提交后,我在推送时遇到了麻烦。
如果我没记错的话,只有一个超过100MB的文件,数据库核心文件之一。因此,由于只有一个大文件,我使用了该命令(路径中git lfs track "/data/databases/graph.db/neostore.transaction.db.0"
带有或不带有首字母)。/
我也尝试过.gitattributesgit lfs track "*.db"
和git lfs track "/data/databases/graph.db/*"
手动版本,但这些方法都不起作用。错误如下:
尽管有说明,但 LFS 似乎没有上传该文件。我的 LFS 版本是 2.7.2,所以这不是过时的版本。我缺少什么?
虽然您可能已更新master
分支以跟踪最新版本的 Git LFS 中的大文件,但可能仍然存在包含作为普通 Git 对象的大文件的历史记录。GitHub 不允许您在历史记录中的任何位置上传任何大于 100 MB 的 blob。
为了解决这个问题,您需要重写历史记录。您可以使用git lfs migrate import
这样做,如下所示:
git lfs migrate import --everything --include="*.db.0"
Run Code Online (Sandbox Code Playgroud)
这将重写整个项目的历史记录,包括所有分支和标签,以便在所有修订中该文件都是 Git LFS 文件。您可以在手册页中查看可以使用的配置选项。
需要注意的是,Git,即使使用 Git LFS,通常也不是处理数据库等编译、构建资产的好工具。一般建议是,如果需要数据库内容(例如,用于测试),则数据库的源格式包含在存储库中,并且数据库本身作为构建或测试步骤构建(如果需要)。这样做可能会或可能不会使您的文件小到不需要 Git LFS。
归档时间: |
|
查看次数: |
1696 次 |
最近记录: |