Experiencing: git-flow


0. Read http://nvie.com/posts/a-successful-git-branching-model/

1. Download git-flow from https://github.com/nvie/gitflow 

2. Head to https://github.com/nvie/gitflow/wiki/Installation - I chose manual and it worked cool :)

With git flow - there are two main streams of code

1. master - contains the release(d) code 

2. develop - contains current development code - unreleased

Dev 1

1. Create a git repo

2. Init the git flow - git flow init  

    answer the questions - the defaults should be enough

3. Start working on a feature

git flow feature start my-new-feature

4. Now there could be more than one dev working on the same feature and we need to share 

    git flow feature publish my-new-feature

5. Now you carry on your development in the feature, and push the changes

    git push origin feature/my-new-feature    

6. Before you issue git feature finish my-new-feature make sure you have pushed the changes to remote branch for the remote user

Now the remote dev:

1. Clone the remote repo

2. Init the git flow - git flow init

    answer the questions - the defaults should be enough

3. Now this dev is going to continue the work on the my-new-feature

    git flow feature track my-new-feature

4. Continue your work …

5. Push the changes to remote branch

    git push origin feature/my-new-feature

6. Pull the changes from remote feature

    git flow feature pull origin my-new-feature

7. git flow feature finish my-new-feature

Since your codebase has remote users - make sure the remote develop brach is kept up to date. 

git push origin develop

 

more learning in process …. will update here soon