Good Git Guides

Over the years that I have been using Git I gath­ered quite a few use­ful links. As at work we made the switch from SVN to Git re­cently it seems to be the per­fect time to fi­nally share some of these links on my blog. There are, of course, the man pages, the “of­fi­cial” book and ref­er­ence. These are un­doubt­edly good re­sources but they are very thor­ough and there­fore a bit dry and more suit­able as a ref­er­ence to learn more about the de­tails of a spe­cific topic. This ar­ti­cle rather fo­cuses on overviews, best prac­tices and tips about Git which are not nec­es­sar­ily the top links for a search on Git doc­u­men­ta­tion.

Let us begin with some in­tro­duc­tory ma­te­r­ial.

The fol­low­ing are more com­plete Git overviews.

These links are about solv­ing or un­der­stand­ing spe­cific yet typ­i­cal Git use cases.

As Git is very pow­er­ful but also flex­i­ble there is a need to un­der­stand the var­i­ous pos­si­ble work­flows achiev­able with this tool.

In my opin­ion, one should try to keep the amount of long lived branches to a min­i­mum and, in gen­eral, fol­low my last name. I per­son­ally like to keep the de­fault master as the canon­i­cal branch to have the lat­est in­te­gra­tions or changes but still be de­ploy­able. At the end of the day, the best Git work­flow re­ally de­pends on the type of pro­ject and there is no ab­solute best. Nonethe­less, the fol­low­ing is my per­sonal fa­vorite when ap­plic­a­ble. 23

To deeply un­der­stand Git and come up with so­lu­tions (from first prin­ci­ples) for a unique prob­lem on has it can be very help­ful to un­der­stand Git’s inner work­ings.

  1. This one’s es­pe­cially great but I think you’ll only ap­pre­ci­ate it after hav­ing worked with git for some time. 

  2. For ex­am­ple, Git Flow is a suc­ces­ful work­flow for cer­tain types of pro­jects. Fea­ture Tog­gles to­gether with a sim­pler Git model can be an al­ter­na­tive for some pro­jects. 

  3. There are many other valid branch nam­ing schemes, of course, and at the end of the day these names are noth­ing but smoke and mir­rors. You prob­a­bly still need to know the spe­cific, em­ployed work­flow of a pro­ject to make sense of the branches. 

  4. The re­source is so good it’s listed twice :). 

Published: 10.01.2015 Last modified: 08.08.2015
Comment? Mail or tweet me.