【发布时间】:2021-02-02 22:17:31
【问题描述】:
我将 git 与 Xcode 一起使用,但是当我在提交并推送到远程之后使用 Xcode(不是命令行)提交文件时,当我使用 git status 时,这就是结果。
什么是Untracked Files。我该怎么处理它们?
那么Changes not staged for commit 部分呢?它们是什么?
【问题讨论】:
标签: ios swift xcode git version-control
我将 git 与 Xcode 一起使用,但是当我在提交并推送到远程之后使用 Xcode(不是命令行)提交文件时,当我使用 git status 时,这就是结果。
什么是Untracked Files。我该怎么处理它们?
那么Changes not staged for commit 部分呢?它们是什么?
【问题讨论】:
标签: ios swift xcode git version-control
这些未跟踪的文件是已添加到您的目录结构中的文件(例如,您似乎执行了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。我建议将其从 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(不过,就像我说的,我通常会取消对特定 .gitignore 的 Pods 的注释)。
【讨论】: