-
-
Save iggym/6287082 to your computer and use it in GitHub Desktop.
######################### | |
# .gitignore file for Xcode4 / OS X Source projects | |
# | |
# Version 2.0 | |
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects | |
# | |
# 2013 updates: | |
# - fixed the broken "save personal Schemes" | |
# | |
# NB: if you are storing "built" products, this WILL NOT WORK, | |
# and you should use a different .gitignore (or none at all) | |
# This file is for SOURCE projects, where there are many extra | |
# files that we want to exclude | |
# | |
######################### | |
##### | |
# OS X temporary files that should never be committed | |
.DS_Store | |
*.swp | |
*.lock | |
profile | |
#### | |
# Xcode temporary files that should never be committed | |
# | |
# NB: NIB/XIB files still exist even on Storyboard projects, so we want this... | |
*~.nib | |
#### | |
# Xcode build files - | |
# | |
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "DerivedData" | |
DerivedData/ | |
# NB: slash on the end, so we only remove the FOLDER, not any files that were badly named "build" | |
build/ | |
##### | |
# Xcode private settings (window sizes, bookmarks, breakpoints, custom executables, smart groups) | |
# | |
# This is complicated: | |
# | |
# SOMETIMES you need to put this file in version control. | |
# Apple designed it poorly - if you use "custom executables", they are | |
# saved in this file. | |
# 99% of projects do NOT use those, so they do NOT want to version control this file. | |
# ..but if you're in the 1%, comment out the line "*.pbxuser" | |
*.pbxuser | |
*.mode1v3 | |
*.mode2v3 | |
*.perspectivev3 | |
# NB: also, whitelist the default ones, some projects need to use these | |
!default.pbxuser | |
!default.mode1v3 | |
!default.mode2v3 | |
!default.perspectivev3 | |
#### | |
# Xcode 4 - semi-personal settings | |
# | |
# | |
# OPTION 1: --------------------------------- | |
# throw away ALL personal settings (including custom schemes! | |
# - unless they are "shared") | |
# | |
# NB: this is exclusive with OPTION 2 below | |
xcuserdata | |
# OPTION 2: --------------------------------- | |
# get rid of ALL personal settings, but KEEP SOME OF THEM | |
# - NB: you must manually uncomment the bits you want to keep | |
# | |
# NB: this is exclusive with OPTION 1 above | |
# | |
#xcuserdata/**/* | |
# (requires option 2 above): Personal Schemes | |
# | |
#!xcuserdata/**/xcschemes/* | |
#### | |
# XCode 4 workspaces - more detailed | |
# | |
# Workspaces are important! They are a core feature of Xcode - don't exclude them :) | |
# | |
# Workspace layout is quite spammy. For reference: | |
# | |
# /(root)/ | |
# /(project-name).xcodeproj/ | |
# project.pbxproj | |
# /project.xcworkspace/ | |
# contents.xcworkspacedata | |
# /xcuserdata/ | |
# /(your name)/xcuserdatad/ | |
# UserInterfaceState.xcuserstate | |
# /xcsshareddata/ | |
# /xcschemes/ | |
# (shared scheme name).xcscheme | |
# /xcuserdata/ | |
# /(your name)/xcuserdatad/ | |
# (private scheme).xcscheme | |
# xcschememanagement.plist | |
# | |
# | |
#### | |
# Xcode 4 - Deprecated classes | |
# | |
# Allegedly, if you manually "deprecate" your classes, they get moved here. | |
# | |
# We're using source-control, so this is a "feature" that we do not want! | |
*.moved-aside | |
#### | |
# UNKNOWN: recommended by others, but I can't discover what these files are | |
# | |
# ...none. Everything is now explained. |
Git uses a file called .gitignore, which holds information about files you don’t want to commit to the Git repository. These files are ignored when you perform a Git commit.
...some files that need to be ignored like your setting file .DS_Store, or your private shemes files like .xcuserdatad.
For Example to ignore these files:
.DS_Store
build/*
*.xcuserdatad
Actually, you may need to know that there is two choices when you want to ignore files with Git. The first one is called “Per-repository”, and is assigned to one repository (one project), and if you create such file and push it to your remote repository(in case you want to share your project with others), everyone who will clone your repository to his local machine, will take advantage of this .gitignore file you just created :]
A .gitignore file is not added to a repository by default. So you need to add it manually. Open up TextEdit and add the following:
build/*
.DS_Store
*.xcuserdatad
Let’s take the above line by line:
build/* : This will exclude the whole build directory which is created by Xcode when creating the application binary.
DS_Store : This rule will exclude the OS X folder attributes.
xcuserdata : Exclude user data files.
Save the file in the root directory of your project and name it .gitignore.
from http://www.raywenderlich.com/13771/how-to-use-git-source-control-with-xcode-in-ios-6
also see
http://stackoverflow.com/questions/6564257/cant-ignore-userinterfacestate-xcuserstate
http://shanesbrain.net/2008/7/9/using-xcode-with-git
https://help.github.com/articles/remove-sensitive-data