Saturday, November 5, 2011

Digging into the Git domain

Most of the time when you use Git it's enough to have a raw domain in the mind.

Branch, checkout, create branch, commit, push -- operations which can be easily learned and applied in everyday life.

But sometimes it's necessary to dig into details.

Last few days I was working on Git plugin development for our Target Process product, and now it's obvious that my knowledge was not so good to handle NGit API (the port of JGit).

First it's necessary to understand the Git domain.

I started with deep revising of Git manual to sort out all entities which Git operates with.

Here is my first domain diagram :)

By looking at this diagram it's quite easily to understand how root entities related to each other.