Your SlideShare is downloading. ×
  • Like
Git flow - branching model for Git
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Git flow - branching model for Git

  • 430 views
Published

This presentation goes over the benefits of using Git flow as your branching model with Git.

This presentation goes over the benefits of using Git flow as your branching model with Git.

Published in Internet , Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
430
On SlideShare
0
From Embeds
0
Number of Embeds
5

Actions

Shares
Downloads
7
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Git: Git-flow A SUCCESSFUL BRANCHING MODEL BY ANDRÉ FIGUEIRA
  • 2. What will be covered • Benefits of using a proper branching model with Git • Introducing Sourcetree • Learning the command line git commands • Importance of learning the command line • What is Sourcetree • Why you should be using it • Git-flow Questions?
  • 3. What will not be covered • What is Git • Why do we use Git • Why do we need a GUI Questions?
  • 4. Benefits of a proper branching model • No inconsistencies in working copy of code when multiple developers are on the same project • Easy management of production code in terms of adding hotfixes whilst other development projects are in progress • Structured approach to developing new features and releases • Easy & clean rollback to previous iterations of source code • Easy prevention of deleting of code done by other developers with new code • Simple synchronization of separate developments running in parralel Questions?
  • 5. Sourcetree • Sourcetree is a Git GUI for making working with Git a lot simpler • Sourcetree over Tortoise Git • Better visibility of branching • More control over what you are actually doing due to simpler interface and more semantic UI • Integration with Git-flow Questions?
  • 6. Git-flow • Branching paradigm • Separation of developments and hotfixes • Avoiding conflict • New git workflow • Specific branches for specific developments and hotfixes • Why? • Introducing Git-flow (git extension) • What is it? • What does it do? • Why should we use it? Questions?
  • 7. Git-flow explained: Feature branches • May branch from develop branch • Must merge back into develop branch • What are they for? • New features • Future release • Etc… Questions?
  • 8. Git-flow explained: Release branches • May branch from develop branch • Must merge back into develop or master branch • What are they for? • • • • Preparation for new production release Minor bug fixes Consolidation of features into a single release Documentation! • Where do they come from? • Develop branch • Including merged feature branches for the release Questions?
  • 9. Git-flow explained: Hotfix branches • May branch from master branch • Must merge back into develop and master branch • What are they for? • Fixing critical issues on live code Questions?
  • 10. What’s the point? A lot of developers, primarily on less “strict” programming languages don’t exactly learn these kind of practices, especially since usually they have only ever worked alone and never in a team on the same project. It’s usually something you’ll come into contact with when working with a much more strict albeit structured language, a good example is working on an Objective C program which you are managing for submission to the Apple App store. One can understand why developers may question the need for this type of control, however there are very good reasons for using a structured source control approach, namely; • • • • • • Easier work between developers on the same project Better documentation on all work undertaken Clear visibility of all changes Clear visibility on release versions Much more! Come to see me if you want a more in depth explanation, too much to cover in an hour! Happy committing!
  • 11. Resources & Useful articles http://nvie.com/posts/a-successful-git-branching-model/ http://guides.beanstalkapp.com/version-control/branching-best-practices.html https://www.atlassian.com/git/workflows#!workflow-gitflow