6. BENEFITS OF VERSION
CONTROL
• Backup and restore
• Sync with multiple computers
• Working in a team
• Safely create and test new features
• Ownership / Credits / Blame
8. INDUSTRY JARGON
• Repository (repo): Database where files are stored
• Server: The computer storing the repository
• Client: The computer connecting to the repository
• Working Copy: Your local directory of files
• Trunk / Main: Master location for code in the repository
• Head: The latest revision in the repository
9. BASIC ACTIONS
• Add: Place a file under version control
• Check in: Send local changes to the repo
• Check out: Download from a repo to your working copy
• Ignore: Allows files to exist in your working copy but not in the
repo
• Revert: Throw away your working copy and restore last revision
• Update / Sync: Update your working copy to the latest
revision
Jargon
12. ADVANCED ACTIONS
• Diff / Change: Specific modification to a document
• Branch: Duplicate copy of code used for feature development
• Merge: Integrate changes from two different branches
• Conflict: Inability to reconcile changes to a document
• Resolve: Manual fixing of conflicted document changes
• Locking: Prevents other developers from making changes
Jargon
26. PETER
HUTTERER
“A diff will tell you
what changed, but
only the commit
message can properly
tell you why.”
http://who-t.blogspot.co.at/2009/12/on-commit-messages.html
27. COMMITS ANSWER 3
QUESTIONS
• Why is it necessary?
It may fix a bug, add a feature, improve performance,
reliability, stability, or just be a change for the sake of
correctness.
• How does it address the issue?
For obvious patches this part can be omitted, but it should be a high
level description of what the approach was.
• What effects does the patch have?
(In addition to the obvious, this may include benchmarks, side effects,
etc.)
28. GENERALLY ACCEPTED
RULES
• First line is the subject. ~50 character limit
• Separate subject from body with a new
line
• Subject need not include a period
• Use the imperative, present tense
(change not changed or changes)
• *Decide internally on a system and stick to
29. IF APPLIED, THIS COMMIT
WILL ______
• Refactor subsystem X for readability
• Update getting started documentation
• Remove deprecated methods
• Release version 1.0.0
• Merge pull request #123 from user/branch
31. DESIGNERS USE VERSION
CONTROL?
• Not just for text files
• Adobe Version Cue
– http://sixrevisions.com/project-management/the-ultimate-guide-to-version-
control-for-designers/
• GUI based tool
• Can even diff graphics
A change (or diff, or delta) represents a specific modification to a document under version control.
A set of files under version control may be branched or forked at a point in time so that, from that time forward, two copies of those files may develop at different speeds or in different ways independently of each other.
Apply the changes from one file to another, to bring it up-to-date. For example, you can merge features from one branch into another.