In Part 2 of my posts on using Coda 2 and git, I promised more info on how to get them working well together. I’ve spent the past few months working on my site and trying to get them working, but, to be honest, I haven’t had much success.
The problem isn’t any config issue, it’s just that Coda 2 only will integrate with locally hosted git repositories. So if you develop your site by running a webserver on your local machine, you’re fine. I don’t know how common this is; it’s certainly something I could do technically but it brings its own technical hurdles: Do you also host your database locally as well? Does everything work the same when you put it back up remotely? I’m not really satisfied with local-hosting my dev work because I don’t have good answers to those questions.
What Coda 2’s git tools really needs in order to be useful to me is support remote git repositories.
One workaround I’ve used is to work on my site within a git repo locally and then frequently upload the content to the remote dev server (which is not tracked by a git repo). The problem with this is you’re constantly saving and then taking another action to push out your changes and see what they look like. Frankly, it’s a pain. It would be much easier if you could tell Coda 2 to just upload your file as soon as it’s saved locally, and indeed this feature is on a Panic Survey for possible future Coda development.
In the meantime, I’ve been learning to manipulate git repositories remotely via the command line (again Pro Git is a good resource here). It’s not as simple as it could/should be but it’s worked decently well. I’ve also got a lot of help from the Gitbox app which makes Git much simpler and easier to understand without sacrificing much power. SourceTree is a free alternative that’s more complex but has a lot more options and tools. However, for beginners and ease of use I think GitBox is worth the money because it will save you valuable time figuring things out.
Anyway, stay tuned for Part 3 eventually. I’ll discuss Coda 2’s git more and hopefully present a better solution than just using the command line.