The nice thing about git is that it allow all kinds of different work flow. Let's write down ours and Let's talk
ADD A NEW FEATHER TO YOUR PROGRAM
when I try to add a new feather to my code, I first create a new branch in a git repo, adding a small logical patch and then do commits on this new experimental branch, because I can not create the perfect code for the first time, I end up doing a lot of reverts, and still making a lot of patches that does not look logical. The good thing about git is that you can interactively merge your code back into your master branch, squashing small pieces patches into one to let it look logical, abandoning these junk patches... --PeterWang
I have recently begun to use git and I am still evolving different ways of doing the workflow. I had previously been using SubVersion and find this much easier to work with. I find that gitg helps me a lot to visualise where I have reached. I am also doing code development on an experiments branch and can see patching back into the main branch later. -- JohnFletcher
It is the first time I heard the name gitg, tried it, and it looks much nicer than gitk. But as a git front, the only one I am currently using and loving is tig, it is text-based, when I use git, I basically still with command line, thus a GUI front end(I used to use gitk a lot) takes much longer to start, and my eyes suffers from the flashes during its launching, that for me is a big distraction.
gitg is now trying implementing some advanced git operation(like cherry-pick), I do not like that, I mean if people really want to be powerful with git, they should turn to command line, I've tried front ends like qgit, all I got is frustration and confusion.--PeterWang
Not all the git front ends support submodules; gitg is one which does.
Resources: http://www.gitcasts.com/
Branching model for library maintainance: http://nvie.com/posts/a-successful-git-branching-model/
see also: GitVersionControl
CategoryConfigurationManagement