version control systems - arabnet beirut 2014 - dani arnaout

72
Version Control Systems Dani Arnaout Systems Engineer at Lextech Global Services Introduction 1

Upload: dani-arnaout

Post on 04-Jul-2015

376 views

Category:

Education


4 download

DESCRIPTION

This is the presentation that was given at ArabNet Beirut 2014. It cover some basic & intermediate info about Version Control Systems in a simple & special way. It includes lots of images & just few text, so you won't be able to fully understand what's going on unless you watched the talk. Will add a link to the talk once it becomes available.

TRANSCRIPT

Page 1: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Version Control Systems

Dani ArnaoutSystems Engineer at Lextech Global Services

Introduction1

Page 2: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Introduction1

Page 3: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Explosion

Introduction1

Page 4: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Introduction1

Page 5: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

No Signal

Introduction1

Page 6: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Introduction1

Page 7: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Slow Internet

Introduction1

Page 8: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Introduction1

Page 9: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

I’m Alive2

I’m Alive App

Page 10: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

All characters appearing in this presentation are fictitious. Any resemblance to real persons, living or dead, is purely coincidental.

I’m Alive2

Page 11: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

I’m Alive App

I’m Alive2

Page 12: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Get notified

I’m Alive2

Page 13: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Push-to-report

I’m Alive2

Page 14: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Friends list

I’m Alive2

Page 15: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

iOS

I’m Alive2

Page 16: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Android

I’m Alive2

Page 17: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Hey Andrew,

Would you like to add me as a contributor?

Or shall I fork your repo?

I’m Alive2

Page 18: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Hey Dani,

What’s a contributor?

Wait, you wanna fork my repo?

I’m Alive2

Page 19: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

I’m Alive2

Page 20: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Why is this baddd?

I’m Alive2

Page 21: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Why is this baddd?

• Huge project size (x number of versions) • Not able to track changes • Difficulty in comparison • Not able to work with someone else

I’m Alive2

Page 22: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

2 Girls 1 Box3

2 Girls 1 Box

Page 23: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Blondie

2 Girls 1 Box3

Page 24: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Write a book

2 Girls 1 Box3

Page 25: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Library

2 Girls 1 Box3

Page 26: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Magic Box

2 Girls 1 Box3

Page 27: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

DON’T TOUCH ME

2 Girls 1 Box3

Page 28: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

What do you want to call me?

2 Girls 1 Box3

Page 29: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Cover Page

2 Girls 1 Box3

Page 30: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

COMMIT *1

2 Girls 1 Box3

Page 31: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

PUSH *2

Revision #1

2 Girls 1 Box3

Page 32: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Noisy

2 Girls 1 Box3

Page 33: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

PULL *3

2 Girls 1 Box3

Page 34: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Modified cover page

2 Girls 1 Box3

Page 35: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

COMMIT

2 Girls 1 Box3

Page 36: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

PUSH

Revision #2

2 Girls 1 Box3

Page 37: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

PUSH

PULL

PUSH

PULL

Revision #2

Revision #1 Revision #2

2 Girls 1 Box3

Page 38: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Modified cover pageRevision #1

Revision #2

PUSH

COMMIT

2 Girls 1 Box3

Page 39: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Revision #1

Revision #2

!Conflict

2 Girls 1 Box3

Page 40: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Version Control Systems4

?

Page 41: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Project

Version Control Systems4

Page 42: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Project Repository+VCS

Version Control Systems4

Page 43: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Project Repository+VCS

Hosting

Version Control Systems4

Page 44: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Project Repository+VCS

Hosting

Developer #1 Developer #2

Version Control Systems4

Page 45: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

- Huge project size (x number of versions) - Not able to track changes - Difficulty in comparison - Not able to work with someone

Version Control System

vs.

Version Control Systems4

Page 46: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Version Control System

Version Control Systems4

Page 47: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Version Control System

Commit Push Pull Branch Merge Stash etc…

Version Control Systems4

Page 48: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

How to use Git?

http://git-scm.com/downloads

1. Download it & install it

Version Control Systems4

Page 49: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

How to use Git?

http://git-scm.com/downloads/guis

2. Download GUI Client 2. Use Command Line (CL)

Version Control Systems4

Page 50: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Github

Github5

Git GUI Client

Page 51: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Github

Create Repository COMMIT PUSH PULL

Github5

Page 52: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Github5

Page 53: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Github5

Page 54: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Private Public

Github5

(contribute) (fork)

Page 55: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Create a Repository

Github5

Page 56: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Commit & Push

Github5

Page 57: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

1. Introduction 2. I’m Alive App 3. 2 Girls 1 Box 4. Version Control Systems 5. Github 6. More About Github 7. Gifts - Q&A

Outline:

Page 58: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf More about Github6

http://blog.nfb.ca/files/2013/02/Yung-Mee_blog.jpg

Page 59: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

More About Github6

Branch Merge

Page 60: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Branch - Merge

More About Github6

Page 61: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Branch - Merge

More About Github6

Page 62: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Commit

Push Pull

Branch Merge

More About Github6

Page 63: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Gift

Page 64: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Github

Micro Package (5 private repository for 1 year)

Page 65: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Github

They didn’t reply :(

Page 66: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Another Gift

Page 67: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

iOS tutorials

Page 68: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

iOS 7 by tutorials

Page 69: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Q&A

Page 70: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

Resources

• https://github.com/blog • http://git-scm.com/doc • http://en.wikipedia.org/wiki/Distributed_revision_control

Web Resources

• http://touslespsd.com/6-icones-flammes-psd/ • http://www.pixeden.com/media-icons/flat-design-icons-set-vol1 • http://www.pixeden.com/media-icons/flat-design-icons-set-vol2 • http://www.pixeden.com/media-icons/flat-design-icons-set-vol3 • http://www.pixeden.com/media-icons/flat-design-icons-set-vol4

Images Resources

• Keynote (6.1) • QuickTime Player (10.3) • Github Desktop Client for Mac (New Cuyama 168)

Software Used

Page 71: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

jhghnnnbvcxbfgsdf Gifts - Q&A7

http://www.slideshare.net/DaniArnaout

Page 72: Version Control Systems - ArabNet Beirut 2014 - Dani Arnaout

Gifts - Q&A7

@dani_arnaout