Git问题:新添加的文件夹显示未跟踪

Git问题:新添加的文件夹显示未跟踪,git,macos,Git,Macos,我克隆了一个空的git存储库。我把我的整个xcode应用程序。现在我想将这些项目推送到服务器,然后它会显示未跟踪的文件夹 请查看附带的屏幕截图。此文件夹包含多个文件和子文件夹 如前所述,在推送之前,您需要git add/git commit 但是如果ECGame内容是您想要的,则需要将所述内容复制到空的克隆存储库中,而不是文件夹本身。 如图所示,如果添加/commit/push,远程存储库将包含文件夹ECGame/,而不是直接包含它们的文件 如果某些文件即使在git add之后仍然未被跟踪,那么

我克隆了一个空的git存储库。我把我的整个xcode应用程序。现在我想将这些项目推送到服务器,然后它会显示未跟踪的文件夹

请查看附带的屏幕截图。此文件夹包含多个文件和子文件夹


如前所述,在推送之前,您需要git add/git commit

但是如果
ECGame
内容是您想要的,则需要将所述内容复制到空的克隆存储库中,而不是文件夹本身。
如图所示,如果添加/commit/push,远程存储库将包含文件夹
ECGame/
,而不是直接包含它们的文件

如果某些文件即使在git add之后仍然未被跟踪,那么“是”可能会有帮助:

如果为false,Git将完全透明地处理文件名,这与较旧版本的Git向后兼容

但最新版本的Git不需要它。
如“”所述:

OS X上此配置设置的默认值为true,没有理由覆盖它。
请注意,在Mac之间共享回购协议时,此设置也很重要

一旦文件名以分解的形式添加到Git存储库中,解决问题的唯一方法就是从Git中删除这些文件,然后在Mac OS X上将
core.precomposeunicode
设置为
true
,或者在Linux或Windows上执行此操作

总而言之,如果您在unicode文件名显示为未跟踪时遇到问题,请执行以下操作:

  • 确保在OS X上将
    core.precomposeunicode
    全局设置为
    true

     $ git config --global core.precomposeunicode
     => true
    
  • 所有仍显示为未跟踪的文件都需要从Git中删除并重新添加到Git中


我不知道它背后的确切问题是什么,但它已经通过下面的命令解决了

git config core.precomposeunicode false


Ref-

Git从不跟踪(或提交)文件夹,只跟踪文件。文件夹(目录)可能包含未跟踪的文件
git status
将对它们进行汇总,除非您使用
git status-uall
git status--untracked files=all
;摘要使它看起来像是一个未跟踪的文件夹,但事实并非如此。(这与ios、objective-c和swift无关。这只是Git的问题。移动标签可能也不合适。)你是否
Git添加了
文件夹?@Amadan:是的,正如我所评论的,使用
Git status-uall
将显示实际的文件,而不是像这样汇总它们。如果我这样说可能会有所帮助:上面的问题应该修改为包含
git status-uall
的输出,而不是
git status
的输出。另外,请不要发布截图的照片。参见git-add。或者git add-A将帮助您添加所有未跟踪的文件。
git add
对当前未跟踪的文件将该文件复制到索引中,以便现在跟踪该文件。索引是构建下一次提交的位置,它包含每个(跟踪的)文件的副本。在文件夹(目录)名称上使用
git add
告诉git添加名为
folder/file1
folder/file2
,等等的文件:git根本不相信文件夹,文件中只有带斜杠的名称。我在空的克隆repo中复制了应用程序文件夹。现在我运行git status,它将我新添加的文件夹显示为未跟踪。因此,我无法运行添加/提交/推送。@VipinYadav设置
core.precomposeunicode
to
false
不应该是答案。请参阅我编辑的答案和相关的参考文章。如果您显示了
git status-uall
的输出,我们可以看到导致MacOS出现这些问题的Unicode字符。当然,这并不能保证有人会特别快地解决这个问题。是的,在运行这个命令“git status-uall”之后,我可以看到所有的文件和文件夹都未被跟踪