我正在使用本地git repo。当我尝试提交核心数据模型文件(.xcdatamodel)的更改时,我收到此消息:
error: pathspec '.../DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git.
如何修复此问题并像对待任何其他文件一样提交模型?
答案 0 :(得分:105)
所选择的答案对于他自己的问题过于具体,并且对实际原因没有任何洞察力。确实存在问题,如更改文件名的情况之前所提到的那样。对我个人而言,这是因为我的Macbook / OSX。显然,Windows有相同的东西'。
原因: git无法识别'文件名'到' FileName'。
这里列出了任何绊脚石的解决方案。所有都应该在项目根目录下运行:
更改git案例设置。该文件应该在之后提交
git config core.ignorecase false --global
git config core.ignorecase false
git commit -a -m "pathspec did not match any file(s) known to git fix"
Delete the file. Commit. Push. Add the file again. Commit. Push.
答案 1 :(得分:10)
这可能不是您的问题,但此页面的错误有很高的Google排名:
Git不喜欢重命名,其中源和目的地只有大小写不同。 (特定于Windows)请参阅 How do I commit case-sensitive only filename changes in Git? 寻求解决方案。
答案 2 :(得分:8)
这不是解决问题的正确方法,但它可以帮助其他人解决方法...... 在您的终端中执行此操作:
git commit -m "<message>" <project dir>
替换您的消息,以及项目目录。
答案 3 :(得分:7)
这类似于tf.alves的答案,但通常我会做
git commit -a -m "comment"
我发现如果我忘记-a和-m参数,我会收到错误:上面提到的pathspec消息。
答案 4 :(得分:4)
我删除了.xcdatamodel文件,已提交,已添加并再次提交。不干净,但工作。
答案 5 :(得分:4)
重命名故事板文件后,我遇到了同样的问题。以下步骤为我修复了它 -
不确定,但我认为可能是git持有对旧文件名的引用并清理构建文件夹并再次构建更正。
希望它有所帮助!
答案 6 :(得分:3)
我使用xcode 9.1得到了同样的错误。 我通过终端的手动提交解决了它。 步骤如下
从终端成功手动提交所有更改后,您就可以在xcode中使用源代码管理。
答案 7 :(得分:3)
我在Xcode中遇到此错误,只是重新启动了Xcode,然后再次提交。
答案 8 :(得分:2)
我这样修理:
答案 9 :(得分:1)
我只需关闭XCODE并再次将其打开即可解决该问题。 我知道这不是一个很酷的解决方案,但是它可以正常工作,而无需更改我的任何文件。
答案 10 :(得分:0)
我在我的一个文件(将.txt更改为.json)上更改了文件扩展名后,在Xcode中出现了此错误。我通过右键单击文件,选择Source Control -> Commit Selected Files...
并提交该文件来解决它。之后,我能够回到Source Control -> Commit
(来自菜单栏),其余的文件都成功提交。
答案 11 :(得分:0)
这为我修好了。从项目中删除该文件。我把它拖到另一个文件夹。然后我删除了引用,清理了项目,然后构建了项目。
然后提交并推送你的git。然后重新添加文件,然后再次提交。
答案 12 :(得分:0)
我通过删除本地项目存储库并重新创建来解决此问题。
删除本地(Xcode)和在线(Github,...)存储库,并创建一个新的存储库,然后再次提交项目。
用于从您的项目中删除git存储库:
1-打开终端并粘贴此命令以在finder中启用显示隐藏文件
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
2-打开projet文件夹并删除.git文件夹
3-重新启动Xcode
现在创建一个新的git仓库并提交项目
答案 13 :(得分:0)
我重复的解决方案是重新启动Xcode 我在重新启动后将文件从“名称”重命名为“名称”之前,将其重命名为“名称”,但是磁盘上的文件名仍然是“名称”,而在git上是“名称”
答案 14 :(得分:-1)
我做了人们建议的一切,但对我不起作用。我尝试重新启动我的 MacBook 并且成功了。