git for beginners

25
Git for Beginners New England Drupal Camp November 1, 2014 Rick Umali @rickumali http://tech.rickumali.com/ Slides!

Upload: rickumali

Post on 22-Jun-2015

71 views

Category:

Software


0 download

DESCRIPTION

The basics of Git repository interaction (git add, git commit, git log) and collaboration (git remote, git push, git pull).

TRANSCRIPT

Page 1: Git for Beginners

Git for BeginnersNew England Drupal Camp

November 1, 2014Rick Umali@rickumali

http://tech.rickumali.com/

Slides!

Page 2: Git for Beginners

Me and You● Me

○ VIC-20○ Boston○ Data Janitor○ Git

● You?

Page 3: Git for Beginners

Book!

Nov 1, 2014: drupalcftw (44% off) thru November 2014

One Day Special: Nov 2, 2014: dotd110214au (50% off)

44%

Off!

http://www.manning.com/umali

Page 4: Git for Beginners

Version Control

Page 5: Git for Beginners

Version Control

Page 6: Git for Beginners

GitGit is an open source, distributed version control system designed for speed and efficiency.

FreedomNo “server” requiredUnique architecture

Page 7: Git for Beginners

What We Will Do

Page 8: Git for Beginners

Step 1. Create Repo% cd sites/all/modules

% mkdir dumpstamp

% cd dumpstamp

% git init

Git is a circle

Page 9: Git for Beginners

Step 2. Add Code% vi README.txt

% git add README.txt

% git commit -m “First commit.”

Two step process: add then commit

Page 10: Git for Beginners

Step 3. Review% git log% gitk% git status

Page 11: Git for Beginners

Repeat 2 and 3% vi dumpstamp.info dumpstamp.module

% git status

% git add .

% git status

% git commit (or git citool)

% git diff

Page 12: Git for Beginners

Tagging a Version% git tag -a v1.0

% git tag -l -n% git show v1.0

v1.0

annotated

Bookmarks

Page 13: Git for Beginners

Repeat 2 and 3% vi dumpstamp.module

% git status

% git add .

% git status

% git diff

% git commit

v1.0

Page 14: Git for Beginners

Go Back in Time% git checkout v1.0% git checkout master

v1.0

Detached HEAD

Page 15: Git for Beginners

Fork in the Road (Branch)% git checkout -b time_stamp v1.0

OR

% git checkout v1.0% git branch time_stamp% git checkout time_stamp v1.0

We’ve been working on a branch all along!

Page 16: Git for Beginners

Add Code to New Branch% git branch

% vi dumpstamp.module

% git status

% git diff

% git commit -av1.0

Separate lines of code/development

Page 17: Git for Beginners

Everything we’ve done so far was local…

Let’s now bring others in our work

Page 18: Git for Beginners

Collaborating

you

bob

mary

Page 19: Git for Beginners

Collaborating via GitHub

bob

maryGitHub

you1

2

3

Page 20: Git for Beginners

Creating a Repo on GitHubhttps://help.github.com/articles/create-a-repo/

Page 21: Git for Beginners

Initial Push to GitHub% git remote add origin \

[email protected]:rickumali/REPO.git

% git push -u origin --all

% git push --tags

you GitHub

Page 22: Git for Beginners

Clone and Pull% git clone \

[email protected]:rickumali/REPO.git

% cd mary

% git branch --all

maryGitHub

Git is a circle

Page 23: Git for Beginners

Collaborating via GitHub

mary

GitHub

you git pushgit pull git push

git pull

Page 24: Git for Beginners

Thank You!

Rick Umali@rickumali

http://tech.rickumali.com/

Git for Beginners

Page 25: Git for Beginners

Homework: Merging% git checkout master

% git merge time_stamp

v1.0