Need advice about which tool to choose?Ask the StackShare community!

Git Flow

95
76
+ 1
0
GitHub

286.3K
250K
+ 1
10.3K
Add tool

Git Flow vs GitHub: What are the differences?

Git Flow vs GitHub

Git Flow and GitHub are two essential tools used in software development, but they have distinct differences. Here are the key differences between Git Flow and GitHub:

  1. Branching Model: Git Flow follows a specific branching model consisting of two main branches, "develop" and "master." The "develop" branch is where ongoing development takes place, while the "master" branch stores production-ready code. In contrast, GitHub is a hosting platform for repositories, offering a distributed version control system that allows multiple users to collaborate on a project using branches and pull requests.

  2. Workflow Process: Git Flow provides a structured workflow that includes specific branch creation and merging strategies. It separates feature development from release and hotfix branches, facilitating stability and version control in a project. Conversely, GitHub does not enforce a specific workflow but provides collaborative features like pull requests, issue tracking, and code review tools, allowing teams to define their own workflows.

  3. Integration and Collaboration: Git Flow focuses on local and centralized repository management, emphasizing stable releases and hotfixes. It does not handle collaboration directly. In contrast, GitHub acts as a central hub for developers, offering collaboration features like pull requests, code review tools, and issue tracking. GitHub allows developers to collaborate and integrate changes seamlessly within a distributed team.

  4. Release Management: Git Flow provides a specific approach to managing software releases. It uses release branches to prepare for a new production release without disrupting ongoing development on the "develop" branch. GitHub, on the other hand, does not dictate a release management strategy, but it offers features like releases and tags to aid in managing software versions.

  5. Ease of Use and Learning Curve: Git Flow has a more structured and rigid workflow, which may require additional time to understand and adapt to. It follows a set of predefined rules and best practices. GitHub, on the other hand, offers a more flexible approach, making it easier to use for beginners or teams looking for less stringent guidelines.

  6. Supported Features: Git Flow primarily focuses on version control and branch management, providing a streamlined process for feature development, release management, and hotfixes. On the other hand, GitHub offers a wide range of features beyond version control, such as issue tracking, project boards, continuous integration, and deployment (CI/CD), and various integrations with other development tools.

In summary, Git Flow provides a structured branching model and workflow specifically designed for release management, whereas GitHub is a collaborative hosting platform that supports version control, issue tracking, and offers a wide range of features for software development collaboration.

Decisions about Git Flow and GitHub
Weverton Timoteo

Do you review your Pull/Merge Request before assigning Reviewers?

If you work in a team opening a Pull Request (or Merge Request) looks appropriate. However, have you ever thought about opening a Pull/Merge Request when working by yourself? Here's a checklist of things you can review in your own:

  • Pick the correct target branch
  • Make Drafts explicit
  • Name things properly
  • Ask help for tools
  • Remove the noise
  • Fetch necessary data
  • Understand Mergeability
  • Pass the message
  • Add screenshots
  • Be found in the future
  • Comment inline in your changes

Read the blog post for more detailed explanation for each item :D

What else do you review before asking for code review?

See more
Weverton Timoteo

Using an inclusive language is crucial for fostering a diverse culture. Git has changed the naming conventions to be more language-inclusive, and so you should change. Our development tools, like GitHub and GitLab, already supports the change.

SourceLevel deals very nicely with repositories that changed the master branch to a more appropriate word. Besides, you can use the grep linter the look for exclusive terms contained in the source code.

As the inclusive language gap may happen in other aspects of our lives, have you already thought about them?

See more
Weverton Timoteo

One of the magic tricks git performs is the ability to rewrite log history. You can do it in many ways, but git rebase -i is the one I most use. With this command, It’s possible to switch commits order, remove a commit, squash two or more commits, or edit, for instance.

It’s particularly useful to run it before opening a pull request. It allows developers to “clean up” the mess and organize commits before submitting to review. If you follow the practice 3 and 4, then the list of commits should look very similar to a task list. It should reveal the rationale you had, telling the story of how you end up with that final code.

See more
Kamaleshwar BN
Senior Software Engineer at Pulley · | 8 upvotes · 704.1K views

Out of most of the VCS solutions out there, we found Gitlab was the most feature complete with a free community edition. Their DevSecops offering is also a very robust solution. Gitlab CI/CD was quite easy to setup and the direct integration with your VCS + CI/CD is also a bonus. Out of the box integration with major cloud providers, alerting through instant messages etc. are all extremely convenient. We push our CI/CD updates to MS Teams.

See more

Gitlab as A LOT of features that GitHub and Azure DevOps are missing. Even if both GH and Azure are backed by Microsoft, GitLab being open source has a faster upgrade rate and the hosted by gitlab.com solution seems more appealing than anything else! Quick win: the UI is way better and the Pipeline is way easier to setup on GitLab!

See more
Nazar Atamaniuk
Shared insights
on
DeployPlaceDeployPlaceGitHubGitHubGitLabGitLab

At DeployPlace we use self-hosted GitLab, we have chosen GitLab as most of us are familiar with it. We are happy with all features GitLab provides, I can’t imagine our life without integrated GitLab CI. Another important feature for us is integrated code review tool, we use it every day, we use merge requests, code reviews, branching. To be honest, most of us have GitHub accounts as well, we like to contribute in open source, and we want to be a part of the tech community, but lack of solutions from GitHub in the area of CI doesn’t let us chose it for our projects.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Git Flow
Pros of GitHub
    Be the first to leave a pro
    • 1.8K
      Open source friendly
    • 1.5K
      Easy source control
    • 1.3K
      Nice UI
    • 1.1K
      Great for team collaboration
    • 867
      Easy setup
    • 504
      Issue tracker
    • 487
      Great community
    • 483
      Remote team collaboration
    • 449
      Great way to share
    • 442
      Pull request and features planning
    • 147
      Just works
    • 132
      Integrated in many tools
    • 122
      Free Public Repos
    • 116
      Github Gists
    • 113
      Github pages
    • 83
      Easy to find repos
    • 62
      Open source
    • 60
      Easy to find projects
    • 60
      It's free
    • 56
      Network effect
    • 49
      Extensive API
    • 43
      Organizations
    • 42
      Branching
    • 34
      Developer Profiles
    • 32
      Git Powered Wikis
    • 30
      Great for collaboration
    • 24
      It's fun
    • 23
      Clean interface and good integrations
    • 22
      Community SDK involvement
    • 20
      Learn from others source code
    • 16
      Because: Git
    • 14
      It integrates directly with Azure
    • 10
      Standard in Open Source collab
    • 10
      Newsfeed
    • 8
      Fast
    • 8
      Beautiful user experience
    • 8
      It integrates directly with Hipchat
    • 7
      Easy to discover new code libraries
    • 6
      Smooth integration
    • 6
      Integrations
    • 6
      Graphs
    • 6
      Nice API
    • 6
      It's awesome
    • 6
      Cloud SCM
    • 5
      Quick Onboarding
    • 5
      Remarkable uptime
    • 5
      CI Integration
    • 5
      Reliable
    • 5
      Hands down best online Git service available
    • 4
      Version Control
    • 4
      Unlimited Public Repos at no cost
    • 4
      Simple but powerful
    • 4
      Loved by developers
    • 4
      Free HTML hosting
    • 4
      Uses GIT
    • 4
      Security options
    • 4
      Easy to use and collaborate with others
    • 3
      Easy deployment via SSH
    • 3
      Ci
    • 3
      IAM
    • 3
      Nice to use
    • 2
      Easy and efficient maintainance of the projects
    • 2
      Beautiful
    • 2
      Self Hosted
    • 2
      Issues tracker
    • 2
      Easy source control and everything is backed up
    • 2
      Never dethroned
    • 2
      All in one development service
    • 2
      Good tools support
    • 2
      Free HTML hostings
    • 2
      IAM integration
    • 2
      Very Easy to Use
    • 2
      Easy to use
    • 2
      Leads the copycats
    • 2
      Free private repos
    • 1
      Profound
    • 1
      Dasf

    Sign up to add or upvote prosMake informed product decisions

    Cons of Git Flow
    Cons of GitHub
      Be the first to leave a con
      • 55
        Owned by micrcosoft
      • 38
        Expensive for lone developers that want private repos
      • 15
        Relatively slow product/feature release cadence
      • 10
        API scoping could be better
      • 9
        Only 3 collaborators for private repos
      • 4
        Limited featureset for issue management
      • 3
        Does not have a graph for showing history like git lens
      • 2
        GitHub Packages does not support SNAPSHOT versions
      • 1
        No multilingual interface
      • 1
        Takes a long time to commit
      • 1
        Expensive

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is Git Flow?

      It provides excellent command line help and output. It is a merge based solution. It doesn't rebase feature branches.

      What is GitHub?

      GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Git Flow?
      What companies use GitHub?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Git Flow?
      What tools integrate with GitHub?
        No integrations found

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        Dec 8 2020 at 5:50PM

        DigitalOcean

        GitHubMySQLPostgreSQL+11
        2
        2448
        GitHubOptimizelySegment+3
        2
        1206
        Mar 18 2020 at 9:12AM

        LaunchDarkly

        GitHubLaunchDarkly+2
        7
        1146
        JavaScriptGitHubReact+12
        5
        4205
        GitHubDockerReact+17
        41
        37394
        What are some alternatives to Git Flow and GitHub?
        Git
        Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
        Visual Studio Code
        Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.
        Docker
        The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
        npm
        npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day.
        TypeScript
        TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
        See all alternatives