Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Git Workflows In Depth. Feature Branch, Forking, GitFlow
Rating: 3.0 out of 5(54 ratings)
13,269 students

Git Workflows In Depth. Feature Branch, Forking, GitFlow

Learn most popular git workflows, start to use them and become a better developer!
Last updated 8/2019
English
English [Auto],Korean [Auto],

What you'll learn

  • How to collaborate inside of development team by using git workflows
  • What is a centralized workflow and how it works
  • What is a feature branch workflow and how it works
  • What is a forking workflow and how it works
  • What is a gitflow workflow and how it works

Course content

4 sections58 lectures2h 39m total length
  • Comparing Workflows Part13:18

    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.

  • Comparing Workflows Part22:37

    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.

  • What is a successful Git Workflow?4:42

    Identify what makes a Git workflow successful by evaluating team culture, size, and preferences. Choose an approach that minimizes cognitive overhead and improves how changes are reviewed and coordinated.

  • Centralized Workflow Intro4:21

    Explore centralized workflows with a single central repository, master as the main branch, and feature branches merged into master, comparing to SVN and highlighting workflow stability and simplicity.

  • Centralized Workflow Part23:48

    Master the centralized workflow in git, leveraging local copies for independent work and a robust branching and merging model to share changes via a remote repository.

  • Centralized Workflow - How it works2:13

    Understand how the centralized workflow coordinates local commits with a central repository, using pushes to maintain branches and keep the official project synchronized.

  • Centralized Workflow. Initialize the central repository2:06

    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.

  • Central repositories3:44

    Learn how to initialize and use central repositories, clone them locally, and configure origin aliases to push changes across Git workflows.

  • Make changes and commit to central repos3:00

    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.

  • Push new commits to central repository2:47

    Push your local commits to the central repository using git push origin <branch>, understand origin as the default remote, and resolve conflicts manually so others can see the changes.

  • Centralized Workflow. Managing Conflicts2:52

    Explore managing conflicts in a centralized git workflow by fetching from the central repository, resolving conflicts manually, and using abort and restart options to maintain a linear history.

  • Centralized workflow example11:20

    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.

  • Where to go from here2:49

    Transition from a centralized workflow to a feature branch workflow to boost flexibility for teams of varying skill levels and enable in-depth discussions before merging into main.

  • Other common workflows1:30

    Explore other common git workflows beyond centralized models, highlighting flexible options like architecture-focused and advanced flows that help developers manage daily work more effectively.

  • Feature branching2:44

    Feature branching extends centralized flow by creating a separate branch for new features, keeping production code intact on the master branch, enabling safe collaboration and continuous integration.

  • GitFlow workflow1:46

    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.

  • Forking workflow2:15

    Compare centralized workflow to forking workflow, showing a central base repository, local clones, and how developers push changes to the main code base.

  • Guidelines1:51

    Align team culture with business goals and implement git workflows using feature branches, forking, and gitflow, mapping branches to tasks, bugs, and releases with Jira or GitHub issues.

  • Guidelines - Part23:44

    Adopt short-lived branches to reduce conflicts between production and development and keep master stable for frequent releases. Use reversible workflows to jump back to prior changes and test effectively.

  • Summary1:43

    Explore centralized versus decentralized Git workflows, compare their tradeoffs, and learn how business requirements shape choosing the right approach for your project.

Requirements

  • You should understand basics of Git

Description


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.

Who this course is for:

  • Developers that wants to extend their knowledge about different ways to collaborate, using git