Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用git的Xcode iOS_Ios_Xcode_Git_Bitbucket_Gitignore - Fatal编程技术网

使用git的Xcode iOS

使用git的Xcode iOS,ios,xcode,git,bitbucket,gitignore,Ios,Xcode,Git,Bitbucket,Gitignore,我已经设置了bitbucket回购,并在我的管理器中进行了配置。我创建了一个basic.gitignore,并将其添加到项目的根目录中。我已尝试提交所有文件,但当我尝试推送时,仍然会显示有未提交的文件 未限制的文件包括: .DS_商店 project.pbxproj UserInterfaceState.xUserState 我已经在我的.gitignore中放置了*.xUserState 有什么想法吗?这是我的.gitignore文件(不要忽略project.pbxproj): 看起来您在

我已经设置了bitbucket回购,并在我的管理器中进行了配置。我创建了一个basic.gitignore,并将其添加到项目的根目录中。我已尝试提交所有文件,但当我尝试推送时,仍然会显示有未提交的文件

未限制的文件包括:

  • .DS_商店
  • project.pbxproj
  • UserInterfaceState.xUserState
我已经在我的.gitignore中放置了*.xUserState


有什么想法吗?

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


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

您必须首先完全删除它们-查看此帖子:

我通常有以下几点:

.DS_Store
*.log
xcuserdata
build/*
.svn
svn只是因为有一些版本控制混合在一起,而且我相信从Xcode 4.4开始构建文件夹是不必要的——这个版本将构建存储在其他地方,但是如果您愿意,您可以覆盖它。把它放在里面很好


project.pbxproj
实际上是您的项目文件,您需要这样做,但如果您在团队中,其他开发人员在项目中更改了他们的代码签名配置文件,这将变得很烦人-提示:iOS团队配置文件是您的朋友。

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

我以前总是遇到同样的问题

首先,关闭Xcode。这只会继续生成不断出现的XUserState更改。打开你的项目文件夹,我们需要把userstate弄出来。如果右键单击.xcodeproj文件,请选择“显示包内容”。这将让你看到隐藏在那里的一切。您可以在那里删除.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状态应该显示您的回购协议是免费的,并且没有任何未跟踪和未提交的文件


幸运的是,当您再次启动Xcode并创建这些文件时,您的gitignore文件应该启动并在将来提交时忽略它们。这在我刚开始使用git时经常发生。我终于学会了在添加任何Xcode源文件之前先检查忽略文件。希望这能有所帮助。

我想这些文件可能已经提交了,因为即使将它们添加到.gitignore,它们仍然会提交。我如何使他们不被提交?注意-我从未推送到我的远程存储库。这些文件不是未跟踪的,它们是未受限制的,这意味着它们已经被添加到repo中。您必须在之后添加.gitignore。看看我的答案。我最终删除了我的整个git repo,并重新开始使用.gitignore,现在一切正常,但我的bitbucket repo似乎不想连接,并且出现了证书问题。让我失望的是,在我的Xcode4.5中,git命令不仅仅起作用。我必须在git前面加上xcrun。因此,要像上面那样做,我必须执行以下操作:xcrun git add project.pbxprojSounds,就像您需要安装4.5的命令行工具一样。你现在每次升级都要这么做,有点蹩脚。只是一个提示,使用git终端,你会比任何GUI甚至Xcode更了解你的回购中发生了什么。
git add project.pbxproj
git commit -m "Put some commit message for this file"