For an Xcode project, is it good to add .xcodeproj files to the source control as well?

I am using Xcode 4.3.2 and realized that the project files are not added to the git repo, so I added them and committed: (there are 6 files)

# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#   new file:   Proj01.xcodeproj/project.xcworkspace/contents.xcworkspacedata
#   new file:   Proj01.xcodeproj/project.xcworkspace/xcuserdata/jeremy.xcuserdatad/UserInterfaceState.xcuserstate
#   new file:   Proj01.xcodeproj/project.xcworkspace/xcuserdata/jeremy.xcuserdatad/WorkspaceSettings.xcsettings
#   new file:   Proj01.xcodeproj/xcuserdata/jeremy.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist
#   new file:   Proj01.xcodeproj/xcuserdata/jeremy.xcuserdatad/xcschemes/FlipCard.xcscheme
#   new file:   Proj01.xcodeproj/xcuserdata/jeremy.xcuserdatad/xcschemes/xcschememanagement.plist

but is it actually a good practice to do so? (one time Xcode crashed and the folder .xcodeproj was gone).

  • Pushing over SSH to a GIT repository with Xcode 4.6
  • How to develop a universal framework in Xcode 6 using Git source control
  • Git ignore file for Xcode projects
  • Git merge ignore conflict from one branch?
  • The file is not under version control
  • xcode subversion settings to connect to network based repository
  • Should xcworkspace be in gitignore
  • Recover deleted files from Xcode4
  • 3 Solutions collect form web for “For an Xcode project, is it good to add .xcodeproj files to the source control as well?”

    As said your .xcodeproj is very important and should be included in your commit

    I just want to add this link about using xcode with git which helped me a lot :

    It’s important to add the project.pbxproj file, but nothing else in the .xcodeproj bundle needs to be under version control.

    Well, since all the file references, build settings, target options are saved in the .xcodeproj file, yes, you should include it in your repository. I usually exclude most (if not all) user specific files, such as breakpoints, user interface state etc.

    Git Baby is a git and github fan, let's start git clone.