Skip to content

Instantly share code, notes, and snippets.

@ErikAGriffin
Forked from adamgit/.gitignore
Created October 24, 2019 22:39
Show Gist options
  • Save ErikAGriffin/e6ba7de0aabe742d36f8bc957c9cfcae to your computer and use it in GitHub Desktop.
Save ErikAGriffin/e6ba7de0aabe742d36f8bc957c9cfcae to your computer and use it in GitHub Desktop.
.gitignore file for Xcode4 / OS X Source projects
# Version 2.6
# For latest version, see: http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects
#
# the following commands are really useful when adding this .gitignore to an existing project
# and also when altering this file on an existing project.
# we need these because .gitignore will NOT ignore files already in the repo.
#
# use THIS to list files already in your repo which .gitignore file would rather ignore
# git ls-files -i -X .gitignore
#
# use THIS to remove files from your repo which are found here
# git rm --cached `git ls-files -i -X .gitignore`
#
# nb: this is all good in theory, when testing not 100%!
# it doesn't seem always identify rogue files
#
# OS X temporary files that should never be committed
.DS_Store
.Trashes
*.swp
# 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)
#
# 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: http://lists.apple.com/archives/xcode-users/2004/Jan/msg00193.html
*.pbxuser
# .mode1v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html
*.mode1v3
# .mode2v3: http://lists.apple.com/archives/xcode-users/2007/Oct/msg00465.html
*.mode2v3
# .perspectivev3: http://stackoverflow.com/questions/5223297/xcode-projects-what-is-a-perspectivev3-file
*.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
# Apple Shared data that Apple put in the wrong folder
# c.f. http://stackoverflow.com/a/19260712/153422
# FROM ANSWER: Apple says "don't ignore it"
# FROM COMMENTS: Apple is wrong; Apple code is too buggy to trust; there are no known negative side-effects to ignoring Apple's unofficial advice and instead doing the thing that actively fixes bugs in Xcode
# Up to you, but ... current advice: ignore it.
*.xccheckout
# NB: Added from https://gist.github.com/foundry/4383910
*.xcscmblueprint
# OPTION 1: ---------------------------------
# throw away ALL personal settings (including custom schemes!
# - unless they are "shared")
# As per build/ and DerivedData/, this ought to have a trailing slash
#
# 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 *requires* git v1.8.2 or above; you may need to upgrade to latest OS X,
# or manually install git over the top of the OS X version
# 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 :)
# 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment