
Compare main Git workflows—feature branches, forking, and GitFlow—and learn to choose and implement a consistent, team-aligned approach that minimizes conflicts and deploy issues.
Compare git workflows and their role in the development process, define four major sections, and offer flexible guidelines you can mix and match across projects.
Initialize a central repository on a server or hosting service, creating or importing a project, and connect using your username and host to set up the centralized workflow.
Learn to make changes, stage files in the staging area, and commit locally to build a clear git history on your machine, then push when ready to the central repository.
Explore a centralized workflow with John and Mary collaborating from local feature work to a shared central repository, handling pushes, pulls, rebases, and conflicts to keep a clean project history.
Compare centralized workflows with gitflow and outline a three-branch model designed around the project area. Assign specific roles to branches and define how they interact to ship releases.
Explore how the feature branch workflow provides a modular framework for managing branches and forking, aligning with gitflow and other repository workflows.
Explore the forking workflow, where each contributor maintains a private local repository and a public fork, then uses pull requests to propose changes to the central repository's main branch.
Explore the forking workflow and how contributors can push to their own repos while maintainers push to the official repo, enabling comments from any developer without broad access.
Explore how forks create personal copies of the central repository and how pull requests channel changes back to the main codebase. Learn how developers work from forks and collaborate.
Fork a repository to create your own copy, keep it up to date with upstream, and manage forks, cloning, and pull requests within Git workflows.
Fork your GitHub repository to your own account and clone your fork to your local machine using git clone, enabling you to work independently from the main project.
Add and manage remotes in a fork: configure origin and upstream to push your changes and pull updates from the official repo, and handle authentication with username and email.
Git workflows in depth by creating and merging feature and fix branches, using master and release branches, and applying GitFlow and forking patterns to manage bugs and releases.
Explore release branches to polish the current release while new features develop, and learn how to merge release branches back into master and develop using git flow or alternatives.
Explore hotfix branches within Git workflows, creating dedicated bug-fix lines off master, merging fixes into master and release branches to maintain stable production while continuing development.
A Git Workflow is a recommendation for how to use Git to accomplish best from it.
More consistent, productive work for developers.
More effective work inside of the team.
A more flexible way to manage code changes.
There is no silver bullet for how to work with Git.
No standards.
When a team has a coding workflow, it's important to understand the logic of how changes should be applied to the codebase.
There a few worldwide used popular Git workflows.
We’ll be discussing them during this course.
Why Care about Git workflow you can ask me.
It's actually better to start to care about before things get painful :)
Case1: You are trying to manage the integrity of a codebase that has numerous developers jumping in and out. And you get a conflicting release schedule.
Case2: When you get tired of wondering why features are disappearing before deployment.
Case3: When you don’t have time to dig through the commit diffs of 500 commits to find out why a push from a specific person causes major unintended changes to your project.
Case4: When a feature that’s not ready for release sneaks its way into production and the whole project can be broken.
Case5: When you can’t have a conversation, explaining to clients/team leader (again) that you can’t release feature X because feature Y has not yet cleared QA.
I hope you see, there a lot of things can be avoided by applying a clean workflow.
When you choose a git workflow for your project, you should have an answer for 5 major questions:
1. How much visibility do you need?
2. How much flexibility do you need?
3. Is collaboration important to your workflow?
4. How much control do you need?
5. How important is ease of use to you?
I'm sure that during the course you'll get a better understanding of what type of workflow should be incorporated.