SlideShare a Scribd company logo
Tool Development
Appendix A: Git
Nick Prühs
Objectives
• To get an overview of version control systems in
general
• To learn how to use Git in a production
environment
• To understand advanced concepts of branching and
merging
2 / 58
Local Version Control
3 / 58
Centralized Version Control
4 / 58
Distributed Version Control
5 / 58
Version Deltas
6 / 58
Version Snapshots
7 / 58
Git Areas
8 / 58
Git Lifecycle
9 / 58
DEMO
• Installing Git
• Installing SourceTree
• Creating a GitHub account
• Creating a Git repository
• Cloning the repository
10 / 58
DEMO
• Check file status
• Adding new files
• Viewing changes
• Staging modified files
• Moving files
• Removing files
11 / 58
DEMO
• Pulling
• Commiting changes
• Pushing
12 / 58
DEMO
• Unstaging files
• Reverting files
13 / 58
DEMO
• Viewing history
• Ignoring files
• Tagging
14 / 58
Git Commit Tree
15 / 58
Git Commit & Parents
16 / 58
Git Branch
17 / 58
Git Branches
18 / 58
Git HEAD
19 / 58
Switching Branches
20 / 58
Adding Commits
21 / 58
Switching Branches
22 / 58
Divergent History
23 / 58
Merging Branches
24 / 58
Merging Branches
25 / 58
Origin
26 / 58
Origin
27 / 58
Origin
28 / 58
Hint
Split your work up into small,
unrelated commits!
29 / 78
Git Commit Messages
30 / 58
• ADDED
• CHANGED
• REMOVED
• FIXED
GitFlow
• Originally developed by Vincent Driessen
• Assigns very specific roles to different branches,
and defines how and when they should interact
• Allows merging and branching to be part of your
daily workflow
31 / 58
Main Branches
• master
• origin/master HEAD is always ready for production
• develop
• origin/develop HEAD always contains the latest
delivered development changes
• Nightly builds are created from this branch
• Whenever considered stable, merged back into master
and tagged
32 / 58
Main Branches
33 / 58
Supporting branches
• Feature branches
• Allow parallel development
• Make tracking features easier
• Release branches
• Help preparing for releases
• Hotfix branches
• Enable you to quickly fix live problems
34 / 58
Feature Branches
• Branch from and merge back into develop
• Used for developing new features
• Exists while the feature is in development
• Will eventually be
• Merged back, to include the new feature in the next
release, or
• Discarded, if the feature should not be included
• Never directly interact with the master branch
35 / 58
Feature Branches
36 / 58
Hint
Merging with the “no fast-forward”
option causes the merge to always
create a new commit. This makes
tracking of your branches a lot
easier!
37 / 78
Release Branches
• Branch from develop, and merge back into develop
and master
• Created when all desired features for the next
release have been merged back into develop
• Supports preparation of a new production release
• Setting up meta-data such as version numbers or
database connections
• Generating API documentation
• Features for the next release can already merge
back into develop
38 / 58
Release Branches
39 / 58
Hint
Whenever changes are merged
back into master, this is a new
production release by definition!
40 / 78
Hotfix Branches
• Branch from master, and merge back into develop
and master
• Created when a critical bug in a production release
has to be resolved immediately
• Other team members can continue working on new
features or the next release
41 / 58
Hotfix Branches
42 / 58
Hint
Unlike the two main branches, all
supporting branches will be merged
and removed eventually!
43 / 78
References
• Chacon, Straub. Pro Git. 2nd Edition. Apress,
December 24, 2014. http://www.git-scm.com/doc
• Vincent Driessen. A successful Git branchin model.
http://nvie.com/posts/a-successful-git-branching-
model/, January 5, 2010.
• Atlassian. Gitflow Workflow.
https://www.atlassian.com/git/workflows#!workflo
w-gitflow, June 2014.
44 / 58
Thank you for your attention!
Contact
Mail
dev@npruehs.de
Blog
http://www.npruehs.de
Twitter
@npruehs
Github
https://github.com/npruehs
45 / 58

More Related Content

What's hot (20)

PPTX
Version control git day02
Gourav Varma
 
PPTX
How to use Git Branch
Phuoc Nguyen
 
PPTX
Git Workflows
Noam Kfir
 
PPTX
Using Git and BitBucket
Medhat Dawoud
 
PPTX
Git tutorial git branches 20131206-Bryan
LearningTech
 
PDF
Git and GitHub workflows
Arthur Shvetsov
 
PDF
Getting Started with GitHub
Michael Redlich
 
PDF
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
PDF
Git branch management
Matt Liu
 
PPTX
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Sascha Scholz
 
PDF
GitHub
ThomasLai27
 
PDF
Git Series. Episode 2. Merge, Upstream Commands and Tags
Mikhail Melnik
 
PDF
The Git Basics
Netguru
 
PDF
git Versioning
SaravanaN Nagarajan
 
PDF
Gerrit linuxtag2011
thkoch
 
PDF
How we use Bitbucket to build Bitbucket
Shunsuke (Sean) Osawa
 
PPTX
Git Everyday
Perforce
 
PPSX
Hackaton for health 2015 - Sharing the Code we Make
esben1962
 
PPTX
Git with bitbucket
Suhas Shivaram
 
KEY
Git with bitbucket
Sumin Byeon
 
Version control git day02
Gourav Varma
 
How to use Git Branch
Phuoc Nguyen
 
Git Workflows
Noam Kfir
 
Using Git and BitBucket
Medhat Dawoud
 
Git tutorial git branches 20131206-Bryan
LearningTech
 
Git and GitHub workflows
Arthur Shvetsov
 
Getting Started with GitHub
Michael Redlich
 
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
 
Git branch management
Matt Liu
 
Integrating Git, Gerrit and Jenkins/Hudson with Mylyn
Sascha Scholz
 
GitHub
ThomasLai27
 
Git Series. Episode 2. Merge, Upstream Commands and Tags
Mikhail Melnik
 
The Git Basics
Netguru
 
git Versioning
SaravanaN Nagarajan
 
Gerrit linuxtag2011
thkoch
 
How we use Bitbucket to build Bitbucket
Shunsuke (Sean) Osawa
 
Git Everyday
Perforce
 
Hackaton for health 2015 - Sharing the Code we Make
esben1962
 
Git with bitbucket
Suhas Shivaram
 
Git with bitbucket
Sumin Byeon
 

Viewers also liked (20)

PDF
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
PDF
Eight Rules for Making Your First Great Game
Nick Pruehs
 
PDF
What Would Blizzard Do
Nick Pruehs
 
PDF
Game Programming 04 - Style & Design Principles
Nick Pruehs
 
PDF
Game Programming 10 - Localization
Nick Pruehs
 
PDF
Game Programming 13 - Debugging & Performance Optimization
Nick Pruehs
 
PDF
Game Programming 08 - Tool Development
Nick Pruehs
 
PDF
Component-Based Entity Systems (Demo)
Nick Pruehs
 
PDF
Game Programming 07 - Procedural Content Generation
Nick Pruehs
 
PDF
Game Programming 09 - AI
Nick Pruehs
 
PDF
Game Programming 02 - Component-Based Entity Systems
Nick Pruehs
 
PDF
Game Programming 12 - Shaders
Nick Pruehs
 
PDF
Game Programming 11 - Game Physics
Nick Pruehs
 
PDF
Game Development Challenges
Nick Pruehs
 
PDF
Scrum - but... Agile Game Development in Small Teams
Nick Pruehs
 
PDF
Game Programming 05 - Development Tools
Nick Pruehs
 
PDF
Game Programming 06 - Automated Testing
Nick Pruehs
 
PDF
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
gamifi.cc
 
PDF
Game Models - A Different Approach
Nick Pruehs
 
PDF
Style & Design Principles 03 - Component-Based Entity Systems
Nick Pruehs
 
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
Eight Rules for Making Your First Great Game
Nick Pruehs
 
What Would Blizzard Do
Nick Pruehs
 
Game Programming 04 - Style & Design Principles
Nick Pruehs
 
Game Programming 10 - Localization
Nick Pruehs
 
Game Programming 13 - Debugging & Performance Optimization
Nick Pruehs
 
Game Programming 08 - Tool Development
Nick Pruehs
 
Component-Based Entity Systems (Demo)
Nick Pruehs
 
Game Programming 07 - Procedural Content Generation
Nick Pruehs
 
Game Programming 09 - AI
Nick Pruehs
 
Game Programming 02 - Component-Based Entity Systems
Nick Pruehs
 
Game Programming 12 - Shaders
Nick Pruehs
 
Game Programming 11 - Game Physics
Nick Pruehs
 
Game Development Challenges
Nick Pruehs
 
Scrum - but... Agile Game Development in Small Teams
Nick Pruehs
 
Game Programming 05 - Development Tools
Nick Pruehs
 
Game Programming 06 - Automated Testing
Nick Pruehs
 
Developing applications and games in Unity engine - Matej Jariabka, Rudolf Ka...
gamifi.cc
 
Game Models - A Different Approach
Nick Pruehs
 
Style & Design Principles 03 - Component-Based Entity Systems
Nick Pruehs
 
Ad

Similar to Tool Development A - Git (20)

PDF
Introducing Git and git flow
Sebin Benjamin
 
PPTX
Learn Git - For Beginners and Intermediate levels
Gorav Singal
 
PPTX
Gitflow - Clouddictive
Clouddictive
 
PPTX
Understanding GitFlow by Ian Vizarra
vzrx23
 
PPT
3 Git
Fabio Fumarola
 
PPTX
Git usage (Basics and workflow)
Yeasin Abedin
 
PDF
Intro to Gitflow
Ben Speakmon
 
PDF
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
PPTX
git Technologies
Hirantha Pradeep
 
PPTX
An introduction to Git and GitFlow
Mark Everard
 
PPTX
Git
Shinu Suresh
 
PDF
Source code management with Git
Radu Barbu
 
PPTX
Gitflow - Branching and Merging Flow for Git
Maulik Shah
 
PPTX
Gitflow - Branching and Merging Flow for Git
Maulik Shah
 
PPTX
Lets git to it
Yoram Michaeli
 
PDF
Git basics a starter on git and its ecosystem
François D'Agostini
 
PPTX
Why Aren't You Using Git Flow?
John Congdon
 
PDF
Real World Git Workflows - EclipseCon Europe 2013
Nicola Paolucci
 
PDF
Improving your workflow with git
Dídac Ríos
 
PDF
Introduction to Git (part 3)
Salvatore Cordiano
 
Introducing Git and git flow
Sebin Benjamin
 
Learn Git - For Beginners and Intermediate levels
Gorav Singal
 
Gitflow - Clouddictive
Clouddictive
 
Understanding GitFlow by Ian Vizarra
vzrx23
 
Git usage (Basics and workflow)
Yeasin Abedin
 
Intro to Gitflow
Ben Speakmon
 
[2015/2016] Collaborative software development with Git
Ivano Malavolta
 
git Technologies
Hirantha Pradeep
 
An introduction to Git and GitFlow
Mark Everard
 
Source code management with Git
Radu Barbu
 
Gitflow - Branching and Merging Flow for Git
Maulik Shah
 
Gitflow - Branching and Merging Flow for Git
Maulik Shah
 
Lets git to it
Yoram Michaeli
 
Git basics a starter on git and its ecosystem
François D'Agostini
 
Why Aren't You Using Git Flow?
John Congdon
 
Real World Git Workflows - EclipseCon Europe 2013
Nicola Paolucci
 
Improving your workflow with git
Dídac Ríos
 
Introduction to Git (part 3)
Salvatore Cordiano
 
Ad

More from Nick Pruehs (11)

PDF
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
Nick Pruehs
 
PDF
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
PDF
Unreal Engine Basics 04 - Behavior Trees
Nick Pruehs
 
PDF
Unreal Engine Basics 03 - Gameplay
Nick Pruehs
 
PDF
Unreal Engine Basics 02 - Unreal Editor
Nick Pruehs
 
PDF
Unreal Engine Basics 01 - Game Framework
Nick Pruehs
 
PDF
Game Programming - Cloud Development
Nick Pruehs
 
PDF
Designing an actor model game architecture with Pony
Nick Pruehs
 
PDF
Game Programming 01 - Introduction
Nick Pruehs
 
PDF
Game Programming 00 - Exams
Nick Pruehs
 
PDF
Tool Development 10 - MVVM, Tool Chains
Nick Pruehs
 
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
Nick Pruehs
 
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
Unreal Engine Basics 04 - Behavior Trees
Nick Pruehs
 
Unreal Engine Basics 03 - Gameplay
Nick Pruehs
 
Unreal Engine Basics 02 - Unreal Editor
Nick Pruehs
 
Unreal Engine Basics 01 - Game Framework
Nick Pruehs
 
Game Programming - Cloud Development
Nick Pruehs
 
Designing an actor model game architecture with Pony
Nick Pruehs
 
Game Programming 01 - Introduction
Nick Pruehs
 
Game Programming 00 - Exams
Nick Pruehs
 
Tool Development 10 - MVVM, Tool Chains
Nick Pruehs
 

Recently uploaded (20)

PPTX
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
PPTX
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Draugnet: Anonymous Threat Reporting for a World on Fire
treyka
 
PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
PDF
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
PDF
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PPTX
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 
Paycifi - Programmable Trust_Breakfast_PPTXT
FinTech Belgium
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
MARTSIA: A Tool for Confidential Data Exchange via Public Blockchain - Pitch ...
Michele Kryston
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Draugnet: Anonymous Threat Reporting for a World on Fire
treyka
 
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers
Hitachi, Ltd. OSS Solution Center.
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
99 Bottles of Trust on the Wall — Operational Principles for Trust in Cyber C...
treyka
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
TrustArc Webinar - Navigating APAC Data Privacy Laws: Compliance & Challenges
TrustArc
 
Optimizing the trajectory of a wheel loader working in short loading cycles
Reno Filla
 
FME in Overdrive: Unleashing the Power of Parallel Processing
Safe Software
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Smarter Governance with AI: What Every Board Needs to Know
OnBoard
 

Tool Development A - Git