我有一个使用 git-lfs 存储一些大文件的存储库的工作副本。我安装了 git-lfs 二进制文件,但可能没有在工作副本中运行“git lfs install”。当我想在添加 lfs 文件后更新我的本地工作副本时,我执行这些命令:
git pull
git lfs pull
只要添加了 lfs 文件,它就可以正常工作。然后存储库有一些 lfs 文件被修改,当我运行 git pull
我收到错误消息:
Your local changes to the following files would be overwritten by merge
....
....
它列出了所有将被 pull 修改的 lfs 文件。
从那时起,我在工作副本中运行了 git lfs install
并且运行良好,但是 git status
仍然列出了所有这些正在修改的文件和一个 git pull
给我同样的错误。
我的问题基本上是,如果我使用 lfs,更新工作副本的正确步骤是什么?我该如何清理这种棘手的情况?
最佳答案
事实证明,在工作副本中运行 git lfs install
是解决方案的一半。下半部分是在工作副本中运行 git reset
,它:
- 将大文件留在原处
- 让 git 知道它们实际上并不脏,而且很好
现在看来我不再需要显式执行 git lfs pull
来获取最新的大文件。第一个 git pull
工作正常。
关于Git lfs(大文件存储)说 lfs 管理的文件在 git lfs pull 之后被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34685689/