42

Xcodeプロジェクトで作業していて、xcuserdataフォルダー内に何も取得しないように.gitignoreを構成しようとしています。

私は次の.gitignoreを持っています:

# Xcode
.DS_Store
*/build/*
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.hmap
xcuserdata/*

しかし、プロジェクトをビルド/実行して実行するたびにgit status、次のmidifiedファイルが表示されます。

modified: MyProject.xcodeproj/project.xcworkspace/xcuserdata/fernando.xcuserdatad/UserInterfaceState.xcuserstate

誰かが何が悪いのか分かりますか?

4

10 に答える 10

47

私は解決策を見つけました

問題は.gitignoreファイルにはありませんでした

問題は、gitサーバーから削除されなかったUserInterfaceState.xcuserstateでした。次のリンクで、解決策を見つけました。

UserInterfaceState.xcuserstateを無視することはできません

于 2013-03-26T20:10:17.013 に答える
10

追加情報

私もこれに遭遇し、.gitignoreがコミットした後もそれらを追加しているため、機能しないようです。私が追加したものは私にとって魅力的です

....これは.gitignoreでは読み取ることができません:

xcuserdata/*

これを追加するとうまくいきます:

*xcworkspace/xcuserdata/*

または読むべき:

*/xcuserdata/*
于 2015-10-02T02:15:24.597 に答える
3

gitを使用した場合は、.gitignoreを追加できます

# Xcode
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.moved-aside
DerivedData
.idea/
*.xccheckout
*.moved-aside
xcuserdata/
*.hmap
*.ipa
*.xcworkspace
*.xcuserstate // <--- Here
!default.xcworkspace
于 2018-12-05T02:23:26.890 に答える
3

ここにはロジックがありません。ただし、私の場合 xcuserdata/ は、.gitignoreファイルの一番下に移動するだけで効果がありました。

于 2020-05-03T21:53:06.693 に答える
3

ファイルに追加*.xcuserstateするだけでなく.gitignore、キャッシュされたファイルを削除することを忘れないでください*.xcuserstate

git rm --cached [YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[ YourUsername].xcuserdatad/UserInterfaceState.xcuserstate

https://www.programmersought.com/article/1594916500/

于 2021-05-07T17:46:40.720 に答える
2

.xcuserdataも含まれるポッドをコミットしたかったので、これ以外は何も機能しませんでした。

**/xcuserdata/*
于 2019-06-10T12:54:39.347 に答える
1

私にとっては何も機能しませんでしたが、これは

この行をgitignoreに追加します

*.xcuserdata
于 2018-06-05T10:13:07.577 に答える
1

この質問に遅れて来ましたが、このサイトはこの問題を解決するのに役立ちました:

https://www.gitignore.io/

具体的には、ラボswiftを使用してxcode、以下を生成します。

https://www.gitignore.io/api/xcode,swift

于 2020-04-27T06:28:16.017 に答える
0

FWIW、私のxcuserdataフォルダーはまだgitによって追跡されておらず、まだに表示されていましたgit status。問題は、以前xcuserdataに.gitignoreファイルにスペースがあったことでした。

于 2015-02-04T16:34:37.350 に答える
-1

あなたは簡単に行うことができます

 git checkout -- <file>..." to discard changes in working directory

例:

   modified:
        mySwa.com.xcworkspace/xcuserdata/bibscy.xcuserdatad/UserInterfaceState.xcuserstate

   git checkout -- mySwa.com.xcworkspace/xcuserdata/bibscy.xcuserdatad/UserInterfaceState.xcuserstate
于 2019-06-19T07:47:36.767 に答える