Gitflow–a Git Workflow designed around Project Release



The main branches

  • master
  • develop

Supporting branches

  • Feature-*

    May branch off from: develop
    Must merge back into: develop
    Branch naming convention: anything except master, develop,release-*, or hotfix-*

  • Release-*
    • May branch off from: develop
      Must merge back into: develop and master
      Branch naming convention: release-*

  • Hotfix-*
    • May branch off from: master
      Must merge back into: develop and master
      Branch naming convention: hotfix-*


    Git Workflows Tutorial by Atlassian


    1. Centralized Workflow

    If your developers are already comfortable with Subversion, the Centralized Workflow lets you experience the benefits of Git without having to adapt to an entirely new process. It also serves as a friendly transition into more Git-oriented workflows.

    Learn more»


    2. Feature Branch Workflow

    The Feature Branch Workflow builds on the Centralized Workflow by encapsulating new features into dedicated branches. This enables the use of pull requests as a means to discuss changes before they’re integrated into the official project.

    Learn more»


    3. Gitflow Workflow

    The Gitflow Workflow streamlines the release cycle by using isolated branches for feature development, release preparation, and maintenance. Its strict branching model also lends some much needed structure to larger projects.

    Learn more»


    4. Forking Workflow

    The Forking Workflow is a distributed workflow that takes full advantage of Git’s branching and cloning capabilities. It provides a safe, reliable way to manage large teams of developers and to accept commits from untrusted contributors.

    Learn more»


    Git Tutorial by Atlassian


    1. Git Basics

    If you’ve never used Git before, this is the place to start. The Git Basics tutorial shows you how to configure your Git installation, set up a new repository, and use the fundamental Git workflow to record revisions of your project.

    Learn more»

    2. Undoing Changes

    Being able to record the history of a software project is useless without the ability to restore old revisions. This tutorial covers how to view old commits, revert the changes they contain, and reset uncommitted changes.

    Learn more»

    3. Git Branches

    Branches are a safe, reliable way to work on multiple versions of a project within a single repository. This tutorial discusses the differences between Git’s branching model and SVN’s, and shows you how to create, view, and merge independent lines of development.

    Learn more»

    4. Rewriting Git History

    Git affords a lot of flexibility when it comes to rewriting your project history, and this can lead to some dangerous situations. In this tutorial, we’ll learn how to clean up old commits without losing snapshots or destroying Git’s collaboration workflow.

    Learn More»

    5. Remote Repositories

    Git’s ability to communicate with remote repositories is the foundation of every Git-based collaboration workflow. This tutorial covers the fundamental commands for moving commits between repositories.

    Learn more»

    Azure – How to Use Service Bus Queues


    You will learn how to

    • Configure the Application to Use Service Bus
    • How to Create a Queue
    • How to Send Messages to a Queue
    • How to Receive Messages from a Queue
    • How to Handle Application Crashes and Unreadable Messages

    Now that you’ve learned the basics of Service Bus queues, follow these links to learn more.

    The Windows Azure Service Bus provides two comprehensive messaging solutions – one, through a centralized “relay” service running in the cloud that supports a variety of different transport protocols and Web services standards, including SOAP, WS-*, and REST. The client does not need a direct connection to the on-premises service nor does it need to know where the service resides, and the on-premises service does not need any inbound ports open on the firewall.

    The second messaging solution, new in the latest release of the Service Bus, enables “brokered” messaging capabilities. These can be thought of as asynchronous, or decoupled messaging features that support publish-subscribe, temporal decoupling, and load balancing scenarios using the Service Bus messaging infrastructure. Decoupled communication has many advantages; for example, clients and servers can connect as needed and perform their operations in an asynchronous fashion.

    Connecting Windows Azure Web Sites to On-Premises Databases Using Windows Azure Service Bus


    A common use-case for a web site is to collect data for storage in a database in an enterprise environment. Likewise, the first thing most customers want to move into the cloud is their web site. Ironically, the idea of moving a whole enterprise architecture into the cloud can appear to be a daunting task. So, if one wants to host their site in the cloud but keep their data in their enterprise, what’s the solution? This post will address that question and point out how the Windows Azure Service Bus between a Windows Azure Web Site and an on-premises database can be a great glue between your web site and your enterprise.

    Azure Queues Storage and Azure Service Bus Queues – Compared and Contrasted


    Foundational Capabilities


    Advanced Capabilities


    This article analyzes the differences and similarities between the two types of queues offered by Windows Azure today: Windows Azure Queues and Windows Azure Service Bus Queues. By using this information, you can compare and contrast the respective technologies and be able to make a more informed decision about which solution best meets your needs.


    Windows Azure supports two types of queue mechanisms: Azure Queues Storage and Azure Service Bus Queues.

    Windows Azure Queues, which are part of the Windows Azure storage infrastructure, feature a simple REST-based Get/Put/Peek interface, providing reliable, persistent messaging within and between services.

    Service Bus Queues are part of a broader Windows Azure messaging infrastructure that supports queuing as well as publish/subscribe, Web service remoting, and integration patterns.

    While both queuing technologies exist concurrently, Windows Azure Queues were introduced first, as a dedicated queue storage mechanism built on top of the Windows Azure storage services. Service Bus Queues, introduced with the latest release of the Service Bus, are built on top of the broader “brokered messaging” infrastructure designed to integrate applications or application components that may span multiple communication protocols, data contracts, trust domains, and/or network environments.

    This article compares the two queue technologies offered by Windows Azure by discussing the differences in the behavior and implementation of the features provided by each. The article also provides guidance for choosing which features might best suit your application development needs.


    Azure – How to use the Queue Storage Service



    This guide will show you how to perform common scenarios using the Windows Azure Queue storage service. The samples are written in C# code and use the Windows Azure Storage Client for .NET (Version 2.0). The scenarios covered include inserting, peeking, getting, and deleting queue messages, as well ascreating and deleting queues. For more information on queues, refer to the Next steps section.

    Table of contents

    Azure – How to use the Blob Storage Service


    This guide will demonstrate how to perform common scenarios using the Windows Azure Blob storage service. The samples are written in C# and use the Windows Azure Storage Client Library for .NET (Version 2.0). The scenarios covered include uploading, listing, downloading, and deleting blobs. For more information on blobs, see the Next steps section.

    Table of contents