1. Git & GitHub Integration
With Guidewire
By Gandhi Ramu
2. 2
Agenda
Git Overview
Branching
Merging
Remote Repositories
Key Features of Git
Key Git Commands
GitHub & Gists Overview
Guidewire IDE Integration with Git & GitHub
Demo
3. 3
Git Overview
Centralized Version Control Systems :
A single server that contains all the versioned files, and a number of clients that
check out files from that central place.
Cons :
If centralized server goes down for an hour, then during that hour nobody can
collaborate at all or save versioned changes to anything they’re working on.
4. 4
(Cont..)
Distributed Version Control Systems
Clients don’t just check out the latest snapshot of the files: they fully mirror the
repository.
Pros :
If any server dies, and these systems were collaborating via it, any of the client
repositories can be copied back up to the server to restore it.
5. 5
(Cont..)
Difference between Git and any other VCS
Git stores data as snapshots of the
project over time
Nearly every operation is local
Other systems tend to store data as
changes to a base version of each file
CVCS where most operations have that
network latency overhead
6. 6
(Cont..)
Git has three main states
1. Committed - The data is safely stored in your local database
2. Modified - Changed the file but have not committed it to your database yet
3. Staged - Marked a modified file in its current version to go into your next commit snapshot
7. 7
(Cont..)
Each file in working directory can be in one of two states
1. Tracked - Files that were in the last snapshot; they can be unmodified, modified,
or staged.
2. Untracked - Everything else
10. 10
(Cont..)
A branch in Git is simply a lightweight movable pointer to one of these commits. The default
branch name in Git is master
Every commit, it moves forward automatically
11. 11
(Cont..)
Create a new branch
A new pointer at the same commit
$ git branch testing
18. 18
Key features of Git
Speed
Simple design
Strong support for non-linear development (thousands of parallel branches)
Fully distributed
Able to handle large projects like the Linux kernel efficiently (speed and data size)
20. 20
GitHub Overview
GitHub is an open source version control system
It is a Git repository web-based hosting service
Distributed revision control
Source code management
Open-source development community
Mobile integration
Collaboration features ( wiki, task management, bug tracking, and feature requests )
Key steps
• Creating a repository
• Forking a repository
• Social
21. 21
Gists Overview
Gist is a Git repository
Gists are a great way to share your work
Share single files, parts of files, or full applications
Gists can be forked, and cloned
Types of gists
Public gists
Secret gists
Anonymous gists