It's more about learning how to deal with git's error messages. They are very cryptic if you don't have a complete understanding of how the underlying system works.