git 101 for_tarad_dev

28
Git 101 2013/03/12 @somkiat 1

Upload: somkiat-puisungnoen

Post on 15-Jan-2015

276 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Git 101 for_tarad_dev

1

Git 101

2013/03/12@somkiat

Page 2: Git 101 for_tarad_dev

2

Why Version Control ?

Page 3: Git 101 for_tarad_dev

3

Why Version Control ?

Collaboration issues !!!

Page 4: Git 101 for_tarad_dev

4

Version Control

• Local• Centralize• Distributed

Page 5: Git 101 for_tarad_dev

5

Local

http://git-scm.com/book/en/Getting-Started-About-Version-Control

Page 6: Git 101 for_tarad_dev

6

Centralize

http://git-scm.com/book/en/Getting-Started-About-Version-Control

Page 7: Git 101 for_tarad_dev

7

Distributed

http://git-scm.com/book/en/Getting-Started-About-Version-Control

Page 8: Git 101 for_tarad_dev

8

Version Control

• Local– Copy file and folder

• Centralize– Control Version System ( CVS )– Subversion ( SVN )

• Distributed– Git– Mercurial Hg– Bazaar

Page 9: Git 101 for_tarad_dev

9

Why Git ?

1. Distributed => No Single of Failure

Page 10: Git 101 for_tarad_dev

10

Why Git ?

2. Simple design :: Less config file

VS

Page 11: Git 101 for_tarad_dev

11

Why Git ?

3. Speed :: Work on local

From git real slide ( http://www.codeschool.com )

Page 12: Git 101 for_tarad_dev

12

Who use Git ?

http://git-scm.com/

Page 13: Git 101 for_tarad_dev

13

Starting with Git

• Command line interface• Many Graphic User Interface (GUI)• Download at http://git-scm.com

Page 14: Git 101 for_tarad_dev

14

Git Help

$ git help

Page 15: Git 101 for_tarad_dev

15

Git Help

$ git help <command>

Page 16: Git 101 for_tarad_dev

16

Git Setting

$ git config <name> <value>

• $ git config --global user.name “Your name”• $ git config --global user.email “Your email”• $ git config --global color.ui true• $ git config --list

Page 17: Git 101 for_tarad_dev

17

Starting your repository

$ git init

Page 18: Git 101 for_tarad_dev

18

Starting your repository

$ git init

Page 19: Git 101 for_tarad_dev

19

Git work flow

http://git-scm.com/book/en/Getting-Started-Git-Basics

Page 20: Git 101 for_tarad_dev

20

Git work flow

• Create file README.txt– Start as untracked

• Add file to staging area– Ready to take a picture

• Commit change– Snapshot on the stage

Page 21: Git 101 for_tarad_dev

21

Create file README.txt

$touch README.txt$git status

New file and untracked

Page 22: Git 101 for_tarad_dev

22

Add file to staging area

$git add README.txt$git status

Staged file

Page 23: Git 101 for_tarad_dev

23

Commit change

$git commit –m “Create file README.txt”$git status

Working on branch master

Page 24: Git 101 for_tarad_dev

24

TODO

• Modify file README.txt• Create file LICENSE• Add both files to staging area• Commit change

Page 25: Git 101 for_tarad_dev

25

Different way to add

• git add <list of file>• git add –all• git add *.txt• git add docs/*.txt• git add docs/• git add “*.txt”

Page 26: Git 101 for_tarad_dev

26

Git timeline history

$git log

History message

Page 27: Git 101 for_tarad_dev

27

Homework

• Learn git with github.com– http://try.github.com/

Page 28: Git 101 for_tarad_dev

28

Next

• Git merge• Git branch• Collaboration – Git remote• Branch• Tag

• Git rebase• History and configuration