Version Controlling With Git

20
The fast version control system

Transcript of Version Controlling With Git

Page 1: Version Controlling With Git

The fast version control system

Page 2: Version Controlling With Git

What is Git?

Page 3: Version Controlling With Git

Git is a free and open source distributed version control system designed for speed and efficiency

Page 4: Version Controlling With Git

What is Version Control?

Page 5: Version Controlling With Git

Local Version Control Systems

Page 6: Version Controlling With Git

Centralized Version Control Systems

Page 7: Version Controlling With Git

Distributed Version Control Systems

Page 8: Version Controlling With Git

Git Key Concepts

Page 9: Version Controlling With Git

Storage : Snapshots, Not Delta Storage

Page 10: Version Controlling With Git

Almost Every Operation is Local

● Uses the local database for it’s operations● No network latency overhead● Can commit locally and upload later when

you get a network connection

Page 11: Version Controlling With Git

Data Integrity

● Each file and commit is checksummed for integrity

● Uses SHA-1 hash● This functionality is built into Git at the lowest

levels and is integral to its philosophy● Impossible to change the contents of any file

or directory without Git knowing about it

Page 12: Version Controlling With Git

Support for Non-linear Development

● Git encourages you to have multiple branches (even thousands)

● A branch is just a pointer to a commit● Enables you to do things like:

○ Frictionless Context Switching○ Role-based codelines○ Feature based workflow○ Disposable experimentation

Page 13: Version Controlling With Git

Git Only Adds Data

● Nearly all the actions in Git adds data to the Git database

● Once you commit a snapshot into Git, it is very difficult to lose

● Hence users can experiment without the danger of screwing things up

Page 14: Version Controlling With Git

Performance Benchmarks

source https://git-scm.com

Page 15: Version Controlling With Git

Performance Benchmarks contd ...

source https://git-scm.com

Page 16: Version Controlling With Git

Git on the Server

● Hosted Git○ GitHub○ BitBucket

● DIY Git server○ GitLab○ GitWeb○ Gitolite○ Gitosis

Page 17: Version Controlling With Git

Resources & Tools

Page 18: Version Controlling With Git

A List of Tools

● TortoiseGit● SmartGit● GitEye● EGit

Page 19: Version Controlling With Git

Git Resources

● http://git-scm.com● https://www.atlassian.com/git● http://gitready.com● https://try.github.io

Page 20: Version Controlling With Git

that’s it !