我在Xcode项目中的git中有大量的"未跟踪文件"。
我在Xcode项目中的git中有大量的"未跟踪文件"。
我正在使用Xcode与git进行版本控制,但是当我使用Xcode提交文件(而不是使用命令行)提交并推送到远程之后,当我使用git status
命令时,会出现下面的结果。
Untracked Files
是什么? 我该怎么处理它们?
还有关于Changes not staged for commit
的部分呢? 他们是什么?
这些未被跟踪的文件是已被添加到您的目录结构中的文件(例如,您似乎进行了一个pod install
),但您既没有将它们添加到源代码控制中,也没有告诉git忽略它们。(我会建议git忽略它们。)但是,您必须决定是否要将Pods
目录添加到您的仓库中或者是否想要将其忽略。请参见https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control。(我个人不会将Pods
放入源代码控制中,只是将Podfile
和Podfile.lock
放入其中。对于此问题,有许多不同的意见。)
关于.DS_Store
,我们通常会有一个~/.gitignore_global
告诉它忽略这些文件。一旦您告诉它忽略这些文件,它们将从“未跟踪”的文件列表中移除。请参见.gitignore all the .DS_Store files in every folder and subfolder。
关于未暂存的.DS_Store
,看起来您的仓库已经有了那个.DS_Store
。我建议您从仓库中将其删除。请参见How can I Remove .DS_Store files from a Git repository?。
简而言之,看起来您的项目没有.gitignore
文件(或者缺少条目)。而且看起来您没有一个~/.gitignore_global
来忽略.DS_Store
文件。
有一个示例.gitignore
,您可能会将其用于Swift项目,请参见https://github.com/github/gitignore/blob/master/Swift.gitignore(尽管,如我所说,我通常会取消对特定.gitignore
的Pods
的注释)。