git
< version-control
< programming
< cnirrad
Get flash to fully experience Pearltrees
http://nvie.com/posts/a-successful-git-branching-model/ Published: January 05, 2010 In this post I present the development model that I’ve introduced for all of my projects (both at work and private) about a year ago, and which has turned out to be very successful. I’ve been meaning to write about it for a while now, but I’ve never really found the time to do so thoroughly, until now.
If you have started to feel comfortable using git and have begun to acknowledge its power, but you feel like you're missing out on some of the importance of the advanced features, this post is for you. Before I jump into the use cases and commands, I'd like to explain a little motivation. As you should know if you've read enough about git, one of the many interesting things about the design is that a commit in git is just a snapshot of the current repository. Yes, the entire repository! Of course, due to algorithmic awesome-tude, this is compressed against time, so it's not horribly inefficient to do.
Lately I’ve been acting as the unofficial Git consultant for Skribit , usually in response to @Stammy saying something on Twitter along the lines of “Hey, git just did something totally nonintuitive and now I can’t figure out what to do next.” I’ve been using Git long enough to know the answer, usually, or at least to be able to figure it out, plus I still remember how people used to SVN think, which helps. I think I’ve mentioned before how much I love Git. I’ve been a version control geek for a really long time: I remember getting way too excited about a feature that was like ‘git cherry-pick’ in some proprietary VCS we evaluated in 2000 or 2001. I still say that Darcs is the one I wish we had settled on, but I’ve grown to love Git over the past year or so, especially with GitHub making some of the rough spots so much easier.
I use Git and GitHub to manage all of my personal code projects. I have one large repository called projects, which is then broken into sub directories based on the main technology used for each project (i.e. Flash, JavaScript, iphone, etc…). I am currently working on a Flash based iphone game code-named “pewpew”, which is maintained within my projects repository. As I have begun to work on it more and more, I decided that I wanted to have pewpew in its own git repository. This will make it easier to track issues, as well as give me the option of open sourcing it and allow others to create and submit forks.