2012-06-23 15 views
9

をプッシュしようとするたびに、「コミットされていない変更を」と言うと、それは/引っ張っ押しから私を防ぎます。 拡張子が* .xcuserstateのファイルを1つコミットしようとすると、このファイルはXcodeの任意のプロジェクトファイルを開く/スクロールするたびに変更されます。そのため、git commitログに無意味なコミットを埋め込む、そのファイルを含む単一のコミットを行うことはできません。これは、この動作を停止する方法はありXcodeは私がプルをgitのか、私は「コミットされていない変更を」取得のXcodeからプルしようとするたびに、私のプロジェクトで、私はgitのを使用しています

ですか?

私は無視するのgitに* .xcuserstateとxcuserdataを入れてみましたが、それはXcodeのは、私が引っ張っしようとするたびにクラッシュしました。

これは、これはすべての開発者のための異なる設定ファイルである場合、あなたはおそらくちょうどGitリポジトリから削除し、バージョン管理にそれを必要としないのXcode 4.2と4.3

答えて

18

通常、あなたのGitのリポジトリに*.xcuserstate*.xcuserdataファイルを配置する必要はありません。これらのファイルは実際にはプロジェクトの一部ではありませんが、プロジェクトをリロードする際に役立つローカル情報がXcodeに保存される場所にすぎません。

git rm --cached *.xcuserstate *.xcuserdata 

をして、結果をコミット:

あなたは使用してこの問題を解決することができます。これにより、それらのファイルが作業ディレクトリから削除されずにリポジトリから削除されます。

+0

私はそれらをgitignoreに入れようとしましたが、プルしようとするとXcodeがクラッシュします。これはあなたと一緒に起こりますか? –

+0

いいえ、そうではありません。プルするとXcodeが実行されていますか? Xcodeを最初に閉じてみてください。 –

+0

私はチームと一緒に試してみて、それがうまくいけば答えを受け入れます。 –

2

で発生します。

これがオプションでない場合は、変更を取り込む前にGit Stash Saveに変更し、もう一度適用するにはGit Stash popに変更してください。

+0

私はプルしようとすると、gitignoreが、Xcodeのクラッシュでそれらを入れてみました、これはあなたと起こるん、あなたはその方法を試してみたのですか? –

+0

いいえ、個人的に私は設定ファイルをソース管理下に置いていません。代わりにそれらを隠そうとしましたか? – Usman

関連する問題