# Stash Latest (2.12) : Workflow strategies in Stash

Created and last modified by pwatson on Nov 07, 2013

Various Git workflows are supported by Stash:

For information about setting up Git workflows in Stash see Using branches in Stash and Using forks in Stash.

## Centralized Workflow

Like Subversion, the Centralized Workflow uses a central repository to serve as the single point-of-entry for all changes to the project. Instead of `trunk`, the default development branch is called `master` and all changes are committed into this branch. This workflow doesn’t require any other branches besides `master`.

Read more about the Centralized Workflow...

## Feature Branch Workflow

The core idea behind the Feature Branch Workflow is that all feature development should take place in a dedicated branch instead of the `master` branch. This encapsulation makes it easy for multiple developers to work on a particular feature without disturbing the main codebase. It also means the `master` branch will never contain broken code, which is a huge advantage for continuous integration environments.

Read more about the Feature Branch Workflow...

## Gitflow Workflow

The Gitflow Workflow defines a strict branching model designed around the project release. While somewhat more complicated than the Feature Branch Workflow, this provides a robust framework for managing larger projects.

Read more about the Git Workflow...

## Forking Workflow

The Forking Workflow is fundamentally different than the other workflows discussed in this tutorial. Instead of using a single server-side repository to act as the “central” codebase, it gives every developer a server-side repository. This means that each contributor has not one, but two Git repositories: a private local one and a public server-side one.

Read more about the Forking Workflow...

## Attachments:

personal fork (application/gliffy+json)
personal fork.png (image/png)
shared fork (application/gliffy+json)
shared fork.png (image/png)
personal fork (application/gliffy+json)
personal fork.png (image/png)
personal fork (application/gliffy+json)
personal fork.png (image/png)
personal fork (application/gliffy+json)
personal fork.png (image/png)
shared fork (application/gliffy+json)
shared fork.png (image/png)
shared fork (application/gliffy+json)
shared fork.png (image/png)
git_workflows2.png (image/png)
git-workflow-svn-6.png (image/png)
git-workflow-svn-6.png (image/png)
git-workflow-feature-branch-1.png (image/png)
git-workflow-releasecycle.png (image/png)
git-workflow-release-cycle-3release.png (image/png)
git-workflow-centralised.png (image/png)
git-workflow-centralised.png (image/png)
git-workflow-feature.png (image/png)
git-workflow-gitflow.png (image/png)
git-workflow-gitflow.png (image/png)
git-workflow-feature.png (image/png)
git-workflow-centralised.png (image/png)
git-workflow-release-cycle-3release.png (image/png)
git-workflow-releasecycle.png (image/png)
git-workflow-feature-branch-1.png (image/png)
git-workflow-svn-6.png (image/png)
git_workflows2.png (image/png)
shared fork.png (image/png)
shared fork (application/gliffy+json)
personal fork.png (image/png)
personal fork (application/gliffy+json)
learnGit.png (image/png)