If you can't read please download the document
Upload
haggen-so
View
167
Download
1
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')