What you’ll learn

Why use Git locally

What is Git

Git’s role in Evergreen

I’ve used VCS in the past. What’s special about Git?

What can you find in a Git repository?

How to install Git

Creating a Git repository from scratch

git init

git config user.name "Jane Public"

git config user.email jane@example.org

Putting stuff into a Git repository

vi README

git add README

git commit

Making a change

vi README

git commit -as

Visual whirled changes

git show

git diff

Track history

git log

Referring to stuff

Branching

git checkout -b new_branch

git checkout master

A brief digression into SSH public keys

ssh-keygen

Cloning a Git repository

git clone git://git.evergreen-ils.org/Evergreen

‘git clone git@git.evergreen-ils.org:history’

Remotes

git remote add working git@git.evergreen-ils.org:working/Evergreen

git fetch working

Merging in changes

git fetch remote

git checkout -b test_changes

git merge remote/a_branch

Merging in changes from master

git checkout master

git pull

Pushing out changes

git push working HEAD:user/gmcharlt/stuff

Building Evergreen

Managing lots of changes

LOCAL: various changes

- OPAC tweaks
- new course reserves module
- fix typo in config file
- experimental bursar inteface - not done yet

Tips and tricks: find stuff

git grep

Tips and tricks: technicolor

Tips and tricks: stashing

Tools that work with Git repositories

Nifty tools that can use Git

Git as community integration point

Reading