I'm trying to become more comfortable with Git, Gitflow, and TeamCity as part of my career development. I'm not aiming for expert-level engineering skills, but I'd like to understand the high-level concepts, use the tools confidently, and recognize what can go wrong at different stages of a workflow. I already have the Pro Git book—are there other resources or practical exercises you'd recommend?
2 Answers
Set up a small throwaway project and deliberately create problems: make conflicting branches, resolve merge conflicts, undo commits, recover deleted work, cherry-pick changes, and repair a branch that got out of sync. Those situations teach you much more than reading alone. For TeamCity, install the free version locally and connect it to a test repository so you can experiment with builds and configuration without risking a real project.
The Pro Git book is a solid foundation, but the fastest way to improve is to use Git regularly on a real project. Try a tool such as lazygit if you like a visual interface, but focus on understanding the commands and workflow rather than spending too long studying Git in isolation.

That makes sense. I use Git at a basic day-to-day level, but I haven’t had many situations where something went wrong, so I haven’t learned how to handle conflicts, broken branches, or moving changes between branches yet.