gpt4 book ai didi

git - 迁移到 Git LFS 和跟踪文件时的命令顺序

转载 作者:行者123 更新时间:2023-12-04 01:47:57 25 4
gpt4 key购买 nike

我想对现有的 Git 存储库使用 LFS 并跟踪 *.foo 文件,同时转换历史文件。我想我可以这样做:

git lfs track "*.foo"
# changed `.gitattributes` and all `.foo` files
commit -a -m "Started tracking foo files."
git lfs migrate import --everything --include="*.foo"

我应该像上面那样在导入存储库之前跟踪文件,还是应该在导入之后跟踪文件?重要吗?

最佳答案

在尝试两种方式时,似乎导入存储库会自动打开 LFS 跟踪,因此无需单独使用 git lfs track

git lfs migrate import --everything --include="*.foo"

事实上,如果您首先打开跟踪,那么您将有一个额外的提交,其中文件类型被添加到 .gitattributes。事实证明,git lfs migrate import 实际上会添加一个带有正确跟踪信息的 .gitattributes 作为历史中的第一个提交 。如果您没有 .gitattributes 文件,过去会添加一个

同样,如果您没有 .gitattributes(例如,假设您从 Subversion 存储库转换为 Git 存储库),那么如果您先添加自己的 .gitattributes 到存储库并在执行 git lfs track 之前提交它,这将导致历史中的 .gitattributes 版本 打开 LFS 跟踪。如果你决定手动添加 .gitattributes,你应该在提交文件之前执行 git lfs track... 以便它在所有提交中打开跟踪出现。

所以最好的方法似乎是:

  1. 在执行任何其他操作之前执行 git lfs migrate...
  2. 使用额外的文件类型更新 Git 添加的 .gitattributes 文件(如果您还没有 .gitattributes 文件)。

总而言之,git lfs migrate import … 似乎包含了 git lfs track … 功能;似乎没有必要在之前或之后单独调用后者。

关于git - 迁移到 Git LFS 和跟踪文件时的命令顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54499006/

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