git
git is a vital version control system that I cannot live without.
When working with a team, it becomes even more indispensable for managing a codebase, allowing distributed development, diverging feature branch based development and a number of different methodologies and workflows.
I have utilised git flow in the majority of code bases I've created or worked on, with a main and dev branch, and feature branches from dev. Tagging for releases merged to main.
The ecosystem around git, like Github and BitBucket, and integration with IDEs, make it an essential skill for modern software development.