The Power of Git

Embed Size (px)

Citation preview


The Power of Git

Prepared and Presented by Dr. Haggen So

Released under Creative Commons Attribution 3.0 Hong Kong Licence

Me

President of HKCOTA

PhD Research on Open Source Collaboration Tools

Hong Kong CreativeOpen Technology Association

Open StandardsFree Software and Open Source SoftwareOpen HardwareFree Culture Works, Open Content and Creative Commons

Problem 1

Finding Old Code

Problem 1 (Cont')

I keep good Backups

But Which One?

Problem 1 (Cont')

Ref: http://www.slideshare.net/taichunmin/ss-16096723

Problem 2

Project Group

Old Files covering New Files?

Several Members Changing the Files?

Problem 2 (Cont')

Ref: http://www.slideshare.net/taichunmin/ss-16096723

My Version!Me First!Listen to Me!

Cloud Storage+ Online Office Suite

Cloud Storage Dropbox, OneDrive...

Online Office Suite Google Doc, Office 365...

Some Versioning Functions

Collaborative Online Editing

Cloud Storage+ Online Office Suite (Cont')

Which version?

(Annotation)

Collaboration on Source Code?

Offline?

Version Control System

Versions stored in Repository

Unique IDDateChanges

Version Control System (Cont')

Annotation

AuthorSummaryDetails

Version Control System (Cont')

Version Control System (Cont')

Version Control System

Problem 1 Solved

Collaboration

Lock-Modify-Unlock

Pessimistic

vs

Copy-Modify-Merge

Optimistic

Lock-Modify-UnlockPessimistic

Copy-Modify-MergeOptimistic

What did/do the

Free Software/Open Source Community

Choose?

4 Freedoms

The freedom to run the program, for any purpose (freedom 0).

The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.

4 Freedoms (Cont')

The freedom to redistribute copies so you can help your neighbor (freedom 2).

The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

Maximise

Motivation

Ref.: Karl Fogel, Open Source Development with CVS

How to

Further Motivate?

Distributed VersionControl System

DVCS

Offline Problem

All the functionalities

VCS vs DVCS

Version Control Systems

CVS

Subversion

Distributed VCS

Bazaar

Git

Mercurial

Git

Most well-known DVCS

Began in 2005

By Linus Torvalds to support

Linux Kernel Development

Online Services for Git

GitHub

BitBucket

GitLab

SourceForge

CodePlex

Etc.

Ref: http://beebom.com/2015/03/github-alternatives

The Power of Git

Help you find Old Code

(Problem 1)

The Power of Git

Help you Co-ordinate

Source Code in Group Projects

(Problem 2)

(Also Record "Who is the Laziest?")

The Power of Git

Has Offline Solution

The Power of Git

GitHub

2.2 Million Active Repositories

Ref: http://githut.info/

Microsoft Dump CodePlex for Git

Ref: http://www.theregister.co.uk/2015/01/15/codeplex_repository_out

_of_favour_as_microsoft_moves_major_projects_to_github/

GitHub Desktop Demo

GitHub Desktop Demo (Cont')

GitHub Desktop Demo (Cont')