by carlessanagustin.com on 11/2013 - Barcelona What is Git? Version - - PowerPoint PPT Presentation

by carlessanagustin com on 11 2013 barcelona
SMART_READER_LITE
LIVE PREVIEW

by carlessanagustin.com on 11/2013 - Barcelona What is Git? Version - - PowerPoint PPT Presentation

by carlessanagustin.com on 11/2013 - Barcelona What is Git? Version Control VCS Distributed Revision Control DRCS Source Code Management SCM Git is free software distributed under GNU GPL2 Git - http://git-scm.com


slide-1
SLIDE 1

by carlessanagustin.com on 11/2013 - Barcelona

slide-2
SLIDE 2

What is Git?

Version Control – VCS Distributed Revision Control – DRCS

Source Code Management – SCM

Git is free software distributed under GNU GPL2 Git - http://git-scm.com

http://en.wikipedia.org/wiki/Git_(software)

slide-3
SLIDE 3

What is version control?

It tracks entries...

  • Tracks changes
  • Tracks who makes the changes
  • Tracks why changes were made
  • Tracks changes, not versions
slide-4
SLIDE 4

Why should we use a VCS?

Automatic backups Change history log Undo Fearless experimentation

slide-5
SLIDE 5

How do teams benefit from VCS?

Synchronization Accountability Conflict detection Backups Change tracking Undo to version X Labeling changes

slide-6
SLIDE 6

Centralized VCS flow

slide-7
SLIDE 7

Distributed VCS

No need to communicate with a central server

  • Faster
  • No network access required
  • No single failure point

Encourages collaboration and “forking” of projects

  • Developers can work independently
  • Submit change sets for inclusion or rejection
slide-8
SLIDE 8

Distributed VCS flow

slide-9
SLIDE 9

History of VCS

Centralized CVS 1986 Perforce 1995 Subversion 2000 MS Team Foundation Server 2010 Distributed Git 2005 Mercurial 2005

http://en.wikipedia.org/wiki/Comparison_of_revision_control_software

slide-10
SLIDE 10

VCS basic concepts

Repository / Database (files + history) Working set (local machine files) Add / Reset Check-in / Commit (from WS to R) Check-out / Update (from R to WS) Tag / Label

slide-11
SLIDE 11

VCS terminology

Tag / Label Branch / Fork Merge / Clone Reverse integration / Forward integration Distributed VCS only: Push / Export Pull / Import

slide-12
SLIDE 12

Three-tree architecture

slide-13
SLIDE 13

Git Instructions

slide-14
SLIDE 14

Git Instructions Reference

Getting and Creating Projects init – clone Basic Snapshotting add – status – diff – commit – reset – rm, mv – stash Branching and Merging branch – checkout – merge – log – tag Sharing and Updating Projects fetch, pull – push – remote Inspection and Comparison log – diff

slide-15
SLIDE 15

Git Branching Model

slide-16
SLIDE 16

Git GUI Clients

SmartGit GitEye Git-cola GitBox

http://git-scm.com/downloads/guis

slide-17
SLIDE 17

Git Hosting

GitHub - http://www.github.com BitBucket - https://bitbucket.org Self-hosting: GitLab - http://gitlab.org

http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hos ting_facilities

slide-18
SLIDE 18

Git help

Git - http://git-scm.com http://git-scm.com/book https://www.atlassian.com/git/tutorial/git-basics http://gitref.org/ http://rogerdudler.github.io/git-guide/ http://gitimmersion.com/ Try me! http://try.github.io

slide-19
SLIDE 19
slide-20
SLIDE 20

Example 01: Diagram

slide-21
SLIDE 21

Example 02: Diagram

slide-22
SLIDE 22

Thank you very much

Carles San Agustin info@carlessanagustin.com www.carlessanagustin.com +34 655 441 378