Git
Git is one of the leading distributed version control systems. Originally developed by Linus Torvalds to manage the source code of the Linux kernel, it has achieved widespread popularity in the Ruby community.
Git’s recent rise to fame is no doubt due in some small part to the success of github, a Git hosting solution, repository browser and social network all rolled into one. It’s also a great way to keep tabs on other work that is occurring within the community.
You can browse several of Effectif’s open source projects on my github page.
Configuring Git
When starting to use Git on a new computer there are several steps that I always take before I start work. They make life a little easier when working with Git in a terminal.
Articles on Git
Easy git-svn for Rails (or "git-me-up")
I’ve been trying to persuade git-svn to work properly with Rails plugins that are installed via svn:externals. Whilst working out how to do it I stumbled across several great articles, but I couldn’t get any of the solutions presented to work perfectly. Samuel Tesla’s article is especially informative, but for a long time I couldn’t stop git-svn from trying to commit Git metadata back into my Subversion repository…
After a bit of head scratching I got it sorted, and wrapped the process up in a little utility called git-me-up.
Recovering Lost Commits with git reflog and reset
When I first setup this blog I took the opportunity to try out Git, and imported the source of the blogging software into a Git repository. The thinking was that if I needed to patch the blog software that I’d have a fairly trouble free upgrade path, merging the upstream changes straight into my branch.
All went well until, after several hours of work, I lost everything…