background preloader


Facebook Twitter

A successful Git branching model » In this post I present the development model that I’ve introduced for some of my projects (both at work and private) about a year ago, and which has turned out to be very successful.

A successful Git branching model »

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. I won’t talk about any of the projects’ details, merely about the branching strategy and release management. It focuses around Git as the tool for the versioning of all of our source code. (By the way, if you’re interested in Git, our company GitPrime provides some awesome realtime data analytics on software engineering performance.) Why git? For a thorough discussion on the pros and cons of Git compared to centralized source code control systems, see the web. But with Git, these actions are extremely cheap and simple, and they are considered one of the core parts of your daily workflow, really.

Enough about the tools, let’s head onto the development model. Decentralized but centralized ¶ Git Cheatsheet. Stash workspace index local repository upstream repository status Displays: <br>• paths that have differences between the index file and the current <code>HEAD</code> commit, <br>• paths that have differences between the workspace and the index file, and <br>• paths in the workspace that are not tracked by git. diff Displays the differences not added to the index. diff commit or branch View the changes you have in your workspace relative to the named <em>commit</em>.

Git Cheatsheet

Add file... or dir... Adds the current content of new or modified files to the index, thus staging that content for inclusion in the next commit. Add -u Adds the current content of modified (NOT NEW) files to the index. Git 102 - Adventurous. Secure source code hosting and collaborative development - GitHub. Help.GitHub - Welcome. Learn git one commit at a time. My Git Workflow. 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.”

My Git Workflow

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. The thing that’s hard about Git for most people is the same thing that’s hard about all DVCS tools: if you’re used to centralized systems, they work weird.

Moving a git repository subdirectory to its own repository at Mike Chambers. I use Git and GitHub to manage all of my personal code projects.

Moving a git repository subdirectory to its own repository at Mike Chambers

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.

<! Initially it looked like the way to do this was to use git submodules. After following the steps in the article, I had to do one additional step before I could push the new repository to GitHub. Gitorious. Git-cheat-sheet-large.png (3300×2550) Git. Git Quick Reference.

Git Community Book. Table of Contents.