Lately, I’ve been working on honing my git skills. With a recent migration from SVN to git, those skills have become more important as I am the guy to solve any problems in the team.
One issue that I’ve been looking at is the use of git rebase. If you’re not familiar with rebase, basically it is a command that allows you to detach one or more commits from their position in the commit tree and replay them onto the current HEAD. This allows for cleaner commits, and subsequently, cleaner commit trees. Git ready has become my favorite git resource, and it has a wonderful post on how to pull with rebase.
Of course, there is a downside to rebasing - over time, you will lose branching information; depending on the context, this is information that might be useful.
I’m still evaluating whether this is a process one would want to implement across an entire team, considering ease (or difficulty) of use, compatibility and history information.
I haven’t forgot my promise, a writeup re: a successful branching model for an agile web startup.