Skip to main content

A better sample gitignore file for XCode Cocoa projects on Mac OS X (iPhone, too)

When we switched to git last year (from Subversion) we took a little time and beefed up our ignore file. While working on another project recently, I realized that most of the example .gitignore files for Cocoa/MacOSX/XCode on the web are really not terribly complete, and the results can be very frustrating when you're just getting started with a new repository.

Here's a better .gitignore example. Let me know if I left anything out. (I saw a few examples from people who exclude the pattern "profile", but as far as I can tell, that's really not a very good idea. I assume they have a specific use case of some kind which eludes my pondering.)

The current version of this file can be found on GitHub:
.gitignore for Xcode, Cocoa, Swift, Objective C, Mac OS X, iOS, TV, Watch

A better .gitignore for XCode, Cocoa, and Mac OS X git repositories:

# Mac OS X Finder and whatnot
.DS_Store

# Sparkle distribution Private Key (Don't check me in!)
dsa_priv.pem

# XCode (and ancestors) per-user config (very noisy, and not relevant)
*.mode1
*.mode1v3
*.mode2v3
*.perspective
*.perspectivev3
*.pbxuser

# Generated files
VersionX-revision.h

# build products
build/
*.[oa]

# Other source repository archive directories (protects when importing) .hg .svn CVS # automatic backup files *~.nib *.swp *~ *(Autosaved).rtfd/ Backup[ ]of[ ]*.pages/ Backup[ ]of[ ]*.key/ Backup[ ]of[ ]*.numbers/

Comments

  1. hey I borrowed your better code - and I added to it - heres a script that puts this and something for .gitattributes into an Xcode script menu item - to auto generate it for the directory of your choosing.

    http://github.com/tbarbe/Xcode-Git-User-Script

    Thanks for posting your stuff - hopefully my mod is useful to someone.

    ReplyDelete
  2. We've created a GitHub repository and added the (much expanded) .gitignore file that we currently use. Share and enjoy!

    A Better .gitignore for Cocoa and Xcode

    ReplyDelete

Post a Comment

Popular posts from this blog

Blogs: Not dead, yet!

If you're a blogger, you might find this essay, recently shared to YCombinator's Hacker News  from a blog, to be of interest. It's perhaps a little pessimistic, but has some fair observations about the state of affairs in the #blogosphere.  If I could bring one thing back to the internet it would be blogs It's almost impossible now to find a blog that's not on a focused theme because that's what search engines focus on and how websites profit. But you want the opposite, a blog that never tried to focus or even thought about it.  The observations about the role of the only search engine that presently matters, Google, in the state of the blogosphere are worthy of consideration. In the discussion at Hacker News, the author was criticized a bit for saying that Google Blogger was "dead" —which itself seems a pretty fair criticism if not strictly accurate in a pedantic sense. Google basically abandoned Blogger in place years ago. Sure, our own ill

The Best Things in Life are Free Birdseed

This weekend we had a call with a prospective client eager to pay us to help them build out a new social media feature in their (very cool) software system. We turned them down. They had an urgent deadline, but that doesn't scare us. They'd also already done some exploratory prototyping before they realized they needed some help, so they had a pretty good idea of what they needed help with. After listening to them describe their current status, I asked a few questions and then realized they had run into a little snag with a non-obvious feature of the API used to talk to a particular cloud service. They didn’t really need our help building and delivering the short term solution, they just needed an email briefly describing the shortest path from where they stood, to the goal. I sent them the email they needed, right after the call.  They're running with the ball, now, and they're gonna make the goal. We didn’t lose business, we made a friend. A fascinating thing about th

Working with David Cui (Zuizin) on EyeSpy for macOS

Lately I've been working on various projects with several new #freelance #iOS#Swift #mobileapp developers, including David Cui (Zuizin). David is helping us update the illumineX, inc. cartoon-eyes toy, EyeSpy (for macOS), which we've been ignoring for a few years. David is enthusiastic, professional, and effective. He's the type of developer who likes to leave a campsite cleaner than he found it. While doing routine maintenance on the product (updating it for Swift 5 and Xcode 11.5) he noticed there was a tiny bit of test code accidentally left in the product for years, and causing a little glitch. He brought it to our immediate attention, and fixed it. David also cleaned up and modernized our In-App Purchase system, which hadn't had any attention for a few years. It turns out that even though our IAP store had been working in sandbox testing in the lab, it had been failing silently about 1/3 of the time in production. Doh! The IAP system in EyeSpy is a wel