[英]Git lfs (Large File Storage) says lfs managed files are modified after a git lfs pull
我有一個使用 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
....
....
它列出了所有要通過拉取修改的 lfs 文件。
從那時起,我在工作副本中運行了git lfs install
並且運行良好,但是git status
仍然列出所有這些文件被修改並且git pull
給了我同樣的錯誤。
我的問題基本上是,如果我使用 lfs,更新工作副本的正確步驟是什么? 我該如何清理這種棘手的情況?
事實證明,在工作副本中運行git lfs install
是解決方案的一半。 下半部分是在工作副本中運行git reset
:
現在似乎我不再需要明確地執行git lfs pull
來獲取最新的大文件。 第一個git pull
工作正常。
對我來說,在我git clone之前,我首先進行git lfs install
,然后進行git clone
。 一切都解決了! 我認為這個問題非常重要和常見,有很多GitHub討論沒有展示真正的解決方案(至少沒有一目了然)! 謝謝你的回答傻瓜。
在使用 Windows(git 版本 2.31.1 和 git-lfs/2.13.3)和 Linux(git 版本 2.25.1 和 git-lfs/2.9.2)時,我遇到了具有大寫文件擴展名的幾乎相同的問題.
我的.gitattributes
包含*.jpg filter=lfs diff=lfs merge=lfs -text
-text 小寫*.jpg
我提交了 Windows 下的文件,文件擴展名為test.JPG
。 在 Linux 系統上克隆存儲庫后,具有大寫擴展名 ( .JPG
) 的圖像僅保留參考,而具有小寫文件擴展名 ( .jpg
) 的圖像按預期被克隆。
在git lfs pull
在 Linux 系統上執行后,圖像正確位於文件系統上,但現在它們顯示為Modified 。
解決方案是通過運行以下命令將 Git 配置為忽略 Linux 上的大小寫:
git config --global core.ignorecase true
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.