如何清洁回购,如果筹备的文件标记为后Git的错误:遇到7文件(S)本来应该是三分球,但没有
git reset --hard
修改
我得到
Encountered 7 file(s) that should have been pointers, but weren't:
git clean -fdx
没有帮助过
如何清洁回购,如果筹备的文件标记为后Git的错误:遇到7文件(S)本来应该是三分球,但没有
git reset --hard
修改
我得到
Encountered 7 file(s) that should have been pointers, but weren't:
git clean -fdx
没有帮助过
当你这样做包含应该已经被文件吨结账这种情况按照.gitattributes
中的规定被LFS拖垮,但不知何故它们直接被提交。可能的原因是你有另一个程序管理你的仓库,比如git GUI或者IDE。
要解决此问题,请确保您已将文件提交为LFS指针。这应该与使用git add
一样简单。在提交之前,您可以使用git lfs status
来检查您的工作。 git lfs ls-files
将显示LFS正在管理的文件。
git lfs status
有误导性,因为它会在确实列出所有更改时读取Git LFS objects to be committed
。您要查找的是您希望LFS跟踪的文件读取类似(LFS: c9e4f4a)
或(Git: c9e4f4a -> LFS: c9e4f4a)
而不是(Git: c9e4f4a)
。
举例来说,我发现这是通过Xcode 9.2添加图像资产时遇到的一个问题,我添加了它自动添加的“CalendarChecked.png”。
$ git status
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png
$ git lfs status
Git LFS objects to be committed:
Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png (Git: c9e4f4a)
Git LFS objects not staged for commit:
Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png (File: c9e4f4a)
$ git add Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png`
$ git lfs status
Git LFS objects to be committed:
Empty/Empty/Assets.xcassets/CalendarChecked.imageset/CalendarChecked.png (LFS: c9e4f4a)
Git LFS objects not staged for commit:
正如你毫无疑问的经历,这是令人沮丧的,因为这些文件出现无处不能阻止你做结账。只要你藏起你的改变,他们就会回来!如果你遇到这种情况,一个快速解决方法是在临时分支上提交这些更改,以便可以再次签出。
这个错误信息听起来像你从'git-lfs'中得到的东西。我实际上并没有使用git-lfs,所以我不确定这个(也不知道该怎么做),但是如果是这样的话,也许git-lfs标签会很好。 – torek
是的,使用lfs –
@KateZz你有没有找到答案?我们也使用git-lfs,并且只检查了一个分支并得到了那个错误。 – buzzsawddog