Tower has left beta and is now available in 1.x form for purchase – and I did. Really, I can’t imagine using anything else for Git repository management. It’s awesome. I have no affiliation, but I appreciate a nice piece of software.
Good job Tower team.
Over the last few weeks I’ve tried out numerous Git UIs under OS X. Nothing even comes close to Tower, which I discovered yesterday. It actually feels like a Mac app, not a hacky port. Just look at these beautiful screenshots (inline comments are mine, not part of the application)…
Some features that I just love include:
- List of all Git projects so you don’t have to dig around in Finder or Terminal looking for them. This is especially good since I will often make, say, a WordPress theme the root of my Git repository, but it’ll be nested under ~/htdocs/somedomain.com/wp-content/themes/theme_name.
- The number of uncommitted files is easily visible from the Dashboard and the desktop (Launcher, Cmd-Tab) icon. This acts as a call-to-action and motivates me.
- Extremely easy to add new repositories. No command-line required.
- Easy access to Stash, a fantastic Git command which I didn’t even know about before trying Tower.
- Pleasing to the eye. Yes, I know, this really shouldn’t be part of the criteria for a developer’s tool… but it is, and I like it.
- Easy, easy, easy. I’ve learned more about Git just from poking around in the menu options than I did in weeks of looking up “how do I do X” on Google.
Tower is currently beta. I have no affiliation. I also have no idea how much it will cost when it’s released, but compared to the other offerings out there I don’t think they’ll have trouble selling it.
Another one of my Git complaints (up until now) was that I didn’t know how to export a repository so that it excluded all of the .git files/folders (similar to the way that svn export works). Well, another one bites the dust.
git checkout-index -a -f --prefix=/path/to/folder/
Make sure the –prefix folder path includes a trailing slash.
–prefix supports relative paths as well.
I should also add that you should make sure you commit your latest changes, or they won’t be included – even if they’re saved. This is probably obvious, but I sometimes overlook the obvious :)
My biggest out-of-the-box Git complaint is that it uses SHA1 hashes to identify each commit. Technically this makes a lot of sense, but from a human readability standpoint it sucks. And by looking at two commit hashes, you don’t know how many commits were in between them.
So, here’s the methodology I use to keep track of commit numbers and get a little bit of version numbering out of the deal.
Read more →
I’ve been using Git quite a lot lately for managing my code. For those of you that don’t know, Git is a version control system, similar to SVN.
Historically, my only real experience with version control was Microsoft VSS (Visual SourceSafe). But that was back in my Windows days in a corporate environment working for the man. As an independent developer I’ve realized that I require something similar, even if it is only me that’s working on the project.
Read more →