creating branches, which delineate a new feature or line of work
submitting pull requests (“PRs”) for your local changes to be pulled into the central, or “master” repository
resolving merge conflicts when several engineers make changes to the same code
maintaining a clean git history by ensuring descriptive and accurate commits
rebasing, a common alternative to merging that helps maintain a cleaner, linear project history
cherry-picking, which allows you to move commits between branches
blaming, which shows you who previously touched the code you’re working with. It may sound accusatory, but it’s not. It’s there so you know who to ask for context, not to point fingers. …