Search code examples
xcodegitgithubxcode4.5commit

Can't exclude user interface state from commit in xcode


I can't exclude user interface state file from commit.

Every time I'm trying to push to github it asks me to commit first and insert user interface state file into the changes (even if I didn't move the mouse or interface at all it still is shown to commit!).

I tried different methods, described in other similar topics. For example, I tried to add all possible cases of user interface into the .gitignore in root, like this:

*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate

It didn't work. I tried to clean the cache and reset git, didn't help.

Git status command says the following: "modified: .xcodeproj/project.xcworkspace/xcuserdata/.xcuserdatad/UserInterfaceState.xcuserstate"

And it looks like this

Please help (it is driving me crazy)!


Solution

  • If those files are already committed, you need to remove them from the index before seeing your .gitignore file work.

    git rm --cached *.xcuserstate
    # or
    git rm -r --cached project.xcworkspace