4

我已经设置了一个 bitbucket 存储库并在我的 Organizer 中对其进行了配置。我创建了一个基本的 .gitignore 并将其添加到我的项目的根目录中。我已经尝试提交所有文件,但是当我尝试推送时它继续说有未提交的文件。

未提交的文件是:

  • .DS_Store
  • 项目.pbxproj
  • UserInterfaceState.xcuserstate

我已经将 *.xcuserstate 放在了我的 .gitignore 中。

有任何想法吗?

4

4 回答 4

2

我以前一直有同样的问题。

首先,关闭 Xcode。这只会继续生成不断出现的 xcuserstate 更改。打开您的项目文件夹,我们需要从那里获取用户状态。如果您右键单击您的 .xcodeproj 文件,请选择 Show Package Contents。这将使您可以看到隐藏在其中的所有内容。您可以在那里删除 .xcuserdata 文件。这可能会丢失您的 Xcode 状态,例如您打开了哪些文件夹、选项卡等。但它不应该以任何方式损害您的项目。下次打开 Xcode 时,它​​只会创建另一个。

接下来,打开终端。这是处理此问题的最佳方法。确保您位于终端内项目的目录中。如果您不确定,请键入cd项目文件夹并将其拖放到终端中以加载位置名称。

rm .DS_Store

这将删除 Mac OS 创建的隐藏文件夹文件。别担心。如果您还没有关闭项目文件夹,或者它只会创建另一个文件夹。

希望如果您已经做到了这一点,您可以git status在当前设置的终端中运行,并且应该会看到一条消息,显示只剩下 1 个文件要提交。pbxproj 文件。如果是这样,太好了!

git add project.pbxproj
git commit -m "Put some commit message for this file"

这应该添加您的项目文件并将其提交 git 并清除内容。一个 git 状态应该显示你的 repo 是免费的,并且清除了所有未跟踪和未提交的文件。

运气好的话,当你再次启动 Xcode 并创建这些文件时,你的 gitignore 文件应该启动并忽略它们以备将来提交。当我第一次开始使用 git 时,这种情况经常发生在我身上。我终于学会了在添加任何 Xcode 源文件之前首先检查忽略文件。希望这可以帮助。

于 2012-10-10T19:27:06.320 回答
1

看起来您在设置 gitignore 之前已将这些文件添加到存储库中。

您必须先完全删除它们 - 查看这篇文章:忽略已提交到 Git 存储库的文件

我通常有以下几点:

.DS_Store
*.log
xcuserdata
build/*
.svn

好吧 svn 只是因为发生了一些版本控制混合,我相信从 Xcode 4.4 开始就不需要构建文件夹 - 这个版本将构建存储在其他地方,但如果你愿意,你可以覆盖它。保留它是很好的。

project.pbxproj实际上是你的项目文件,你需要这个,尽管如果你在一个团队中会变得很烦人,因为其他开发人员在项目中更改了他们的代码签名配置文件 - 提示:iOS 团队配置文件是你的朋友。

于 2012-10-10T18:55:44.097 回答
1

您必须从存储库中删除该文件并提交 .gitignore 文件的删除以开始忽略它。它不会忽略已经存在的文件。

于 2012-10-10T19:03:00.193 回答
0

这是我的 .gitignore 文件(不要忽略 project.pbxproj):

.bundle
db/*.sqlite3
log/*.log
tmp/
.DS_Store
于 2012-10-10T18:51:19.963 回答