Git Distributed version control fundamental and workflow