我在 Xcode 项目的 git 中有大量“未跟踪的文件”

Posted

技术标签:

【中文标题】我在 Xcode 项目的 git 中有大量“未跟踪的文件”【英文标题】:I have tons of "Untracked Files" in git in Xcode project 【发布时间】:2021-02-02 22:17:31 【问题描述】:

我将 git 与 Xcode 一起使用,但是当我在提交并推送到远程之后使用 Xcode(不是命令行)提交文件时,当我使用 git status 时,这就是结果。

什么是Untracked Files。我该怎么处理它们? 那么Changes not staged for commit 部分呢?它们是什么?

【问题讨论】:

【参考方案1】:

这些未跟踪的文件是已添加到您的目录结构中的文件(例如,您似乎执行了pod install),但您既没有将它们添加到源代码控制中,也没有告诉 git 忽略它们。 (我个人会告诉 git 忽略它们。)

但是您必须决定是要将Pods 目录添加到您的存储库还是要忽略它们。见https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control。 (我个人不会将Pods 放入源代码控制中,只是将PodfilePodfile.lock 放入。不过,关于这个话题有很多意见。)

关于.DS_Store,我们经常有一个~/.gitignore_global 告诉它也忽略这些。一旦你告诉它忽略这些,它们就会从“未跟踪”文件列表中删除。见.gitignore all the .DS_Store files in every folder and subfolder。

关于未暂存的.DS_Store,看起来您的回购已经在回购中有一个.DS_Store。我建议将其从 repo 中删除。见How can I Remove .DS_Store files from a Git repository?。

简而言之,您的项目似乎没有.gitignore 文件(或者缺少条目)。您似乎也没有 ~/.gitignore_global 来忽略 .DS_Store 文件。


有关您可能用于 Swift 项目的 .gitignore 示例,请参阅 https://github.com/github/gitignore/blob/master/Swift.gitignore(不过,就像我说的,我通常会取消对特定 .gitignorePods 的注释)。

【讨论】:

以上是关于我在 Xcode 项目的 git 中有大量“未跟踪的文件”的主要内容,如果未能解决你的问题,请参考以下文章

git 仅添加修改过的更改并忽略未跟踪的文件

git 仅添加修改过的更改并忽略未跟踪的文件

git之commit

Git:没有添加到提交但存在未跟踪的文件

如何使用 Visual Studio Tools for Git 将跟踪的文件移动到未跟踪的位置

用于一次性添加(不提交)所有新文件的 Git 命令 [重复]