gug #1 - introduction to git

30
Git user group #1 Introduction to git Marc-Antoine Perennou Clever Cloud

Upload: keruspe

Post on 11-May-2015

824 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Gug #1 - Introduction to git

Git user group #1Introduction to git

Marc-Antoine Perennou

Clever Cloud

Page 2: Gug #1 - Introduction to git

Who I am

Marc-Antoine Perennou -

[email protected]@clever-cloud.com

http://clever-cloud.com/@Keruspe on twitter and identi.cahttp://github.com/Keruspe

Keruspe Git user group #1

Page 3: Gug #1 - Introduction to git

The (D)VCS concept

What is a Version Control System ?

Why must you use one if you do not do so already ?

Why should you consider using or switching to a DistributedVCS ?

VCS VS DVCS

Keruspe Git user group #1

Page 4: Gug #1 - Introduction to git

The (D)VCS concept

What is a Version Control System ?

Why must you use one if you do not do so already ?

Why should you consider using or switching to a DistributedVCS ?

VCS VS DVCS

Keruspe Git user group #1

Page 5: Gug #1 - Introduction to git

The (D)VCS concept

What is a Version Control System ?

Why must you use one if you do not do so already ?

Why should you consider using or switching to a DistributedVCS ?

VCS VS DVCS

Keruspe Git user group #1

Page 6: Gug #1 - Introduction to git

The origin of Git

The creation of git

Linux development constraints (Too many developers,thousands per year)First release: 2005

The origin of its name

The evolution/complexification and usage simplification of git

Keruspe Git user group #1

Page 7: Gug #1 - Introduction to git

The origin of Git

The creation of git

Linux development constraints (Too many developers,thousands per year)First release: 2005

The origin of its name

The evolution/complexification and usage simplification of git

Keruspe Git user group #1

Page 8: Gug #1 - Introduction to git

The origin of Git

The creation of git

Linux development constraints (Too many developers,thousands per year)First release: 2005

The origin of its name

The evolution/complexification and usage simplification of git

Keruspe Git user group #1

Page 9: Gug #1 - Introduction to git

Creating a repository

One command: git initThis command creates the basic files needed by git into asubdirectory named ”.git”

Keruspe Git user group #1

Page 10: Gug #1 - Introduction to git

Basic usage

6 mandatory commands :

git init

git clone

git add

git commit

git push

git pull

With those commands (and eventually git remote), you can actwith git at least like you acted with SVN (for example)

Keruspe Git user group #1

Page 11: Gug #1 - Introduction to git

Git server side

Introduction to github

Demonstration: sharing this presentation on github

For your company: gitolite

Git with non-git backend

Keruspe Git user group #1

Page 12: Gug #1 - Introduction to git

Git server side

Introduction to github

Demonstration: sharing this presentation on github

For your company: gitolite

Git with non-git backend

Keruspe Git user group #1

Page 13: Gug #1 - Introduction to git

Git server side

Introduction to github

Demonstration: sharing this presentation on github

For your company: gitolite

Git with non-git backend

Keruspe Git user group #1

Page 14: Gug #1 - Introduction to git

Git server side

Introduction to github

Demonstration: sharing this presentation on github

For your company: gitolite

Git with non-git backend

Keruspe Git user group #1

Page 15: Gug #1 - Introduction to git

Some usefull basics

Explanations on the tracking system

Configuration

Editing the last commit

Cleaning a working tree

Keruspe Git user group #1

Page 16: Gug #1 - Introduction to git

Some usefull basics

Explanations on the tracking system

Configuration

Editing the last commit

Cleaning a working tree

Keruspe Git user group #1

Page 17: Gug #1 - Introduction to git

Some usefull basics

Explanations on the tracking system

Configuration

Editing the last commit

Cleaning a working tree

Keruspe Git user group #1

Page 18: Gug #1 - Introduction to git

Some usefull basics

Explanations on the tracking system

Configuration

Editing the last commit

Cleaning a working tree

Keruspe Git user group #1

Page 19: Gug #1 - Introduction to git

Branching

Three commands:

git branch

git checkout

git merge

Keruspe Git user group #1

Page 20: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 21: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 22: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 23: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 24: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 25: Gug #1 - Introduction to git

Advanced usage

Rebasing with git rebase / git pull –rebase

Patching with git format-patch and git am

Backporting with git cherry-pick for maintainance

Debugging with git bisect

Tagging releases

Blaming colleagues

Keruspe Git user group #1

Page 26: Gug #1 - Introduction to git

Demos

Failing merge

Successfull merge

paludis patches

play patches

Backporting changes

Keruspe Git user group #1

Page 27: Gug #1 - Introduction to git

Demos

Failing merge

Successfull merge

paludis patches

play patches

Backporting changes

Keruspe Git user group #1

Page 28: Gug #1 - Introduction to git

Demos

Failing merge

Successfull merge

paludis patches

play patches

Backporting changes

Keruspe Git user group #1

Page 29: Gug #1 - Introduction to git

Demos

Failing merge

Successfull merge

paludis patches

play patches

Backporting changes

Keruspe Git user group #1

Page 30: Gug #1 - Introduction to git

Demos

Failing merge

Successfull merge

paludis patches

play patches

Backporting changes

Keruspe Git user group #1