There are many ways to work with Git. The workflows vary depending on the size of the team, organization, and on the way of working — is it distributed, is it sprint-based, is it a company, or an open-source project, where a maintainer approves pull requests?
You can use vanilla-Git, you can use GitHub, BitBucket, GitLab, or Stash. And then on the client side you can use the command line, IDE integration, or stand-alone clients like SourceTree. The workflows differ mostly in the way you organize you branches and the way you merge them. Do you branch off branches?
Read more at DZone