gitlab training with git and sourcetree

Post on 13-Aug-2015

134 Views

Category:

Engineering

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Gitlab Training

Teerapat Khunpech

VCS Technology

True Information Technology

1

Gitlab : New Project

2

Gitlab : New Project (cont.)

3

Gitlab : New Project (cont.)

4

TIPS

Use SSH Key

5

SSH keys

SSH keys are a way to identify trusted

computers, without involving passwords. The

steps below will walk you through generating an

SSH key and adding the public key to your Gitlab

account.

6http://docstore.mik.ua/orelly/networking_2ndEd/ssh/figs/ssh_0202.gif

SSH-Keygen

$ ssh-keygen –t rsa –C “teerapat_khu@truecorp.co.th”Generate public/private rsa key pair.

Enter file in which to save the key

/home/teerapat_khu/.ssh/id_rsa: [Press enter]

Enter passphrase (empty no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

Your identification has been saved in /home/teerapat_khu/.ssh/ida_rsa.

Your public key has been saved in /home/teerapat_khu/.ssh/ida_rsa.pub.

The key fingerprint is:

bd:10:cf:76:23:4c:c7:34:83:26:ba:f4:c3:31:c1:00 teerapat_khu@truecorp.co.th

7

SSH-Keygen

$ ssh-keygen –t rsa –C “teerapat_khu@truecorp.co.th”Generate public/private rsa key pair.

Enter file in which to save the key

/home/teerapat_khu/.ssh/id_rsa: [Press enter]

Enter passphrase (empty no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

Your identification has been saved in /home/teerapat_khu/.ssh/ida_rsa.

Your public key has been saved in /home/teerapat_khu/.ssh/ida_rsa.pub.

The key fingerprint is:

bd:10:cf:76:23:4c:c7:34:83:26:ba:f4:c3:31:c1:00 teerapat_khu@truecorp.co.th

$ cat /home/teerapat_khu/.ssh/ida_rsa.pubssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjw9w7vbV3bQZ9kWBCBTVK2vYIMX+k6Zo6hf/MDVE2dttCdQJ87+dDdO

jRfudizsjge0nLb/pFfWtyTbZu9NGLPo/PRYD9PAPOoU6Bp9fhOCjV4ShZQQcEnZ+iIsmGAoCR08JAW/kVsu55U

8EHxuCv7Tq0L3LhUPqfbmbCO2bZP11d5kAREd4kJxA7o5SO5e2VtDJurf5COjmGXRl31AuafeXLZdtWzdSOuy5/

Lw5k+X2LnKohZYupzZ3I7O+K1x2MOuXMXgg/ZdOyyrkaMGC78s6EFhVGoTfZUU/lH8TE6v2BL0RSqbD4Ty5YZ81

+ZMezUvuyTlY7OdA6Jda/hPd teerapat_khu@truecorp.co.th

8

SSH-Keygen

$ ssh-keygen –t rsa –C “teerapat_khu@truecorp.co.th”Generate public/private rsa key pair.

Enter file in which to save the key

/home/teerapat_khu/.ssh/id_rsa: [Press enter]

Enter passphrase (empty no passphrase): [Type a passphrase]

Enter same passphrase again: [Type passphrase again]

Your identification has been saved in /home/teerapat_khu/.ssh/ida_rsa.

Your public key has been saved in /home/teerapat_khu/.ssh/ida_rsa.pub.

The key fingerprint is:

bd:10:cf:76:23:4c:c7:34:83:26:ba:f4:c3:31:c1:00 teerapat_khu@truecorp.co.th

$ cat /home/teerapat_khu/.ssh/ida_rsa.pubssh-rsa

AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjw9w7vbV3bQZ9kWBCBTVK2vYIMX+k6Zo6hf/MDVE2dttCdQJ87+dDdO

jRfudizsjge0nLb/pFfWtyTbZu9NGLPo/PRYD9PAPOoU6Bp9fhOCjV4ShZQQcEnZ+iIsmGAoCR08JAW/kVsu55U

8EHxuCv7Tq0L3LhUPqfbmbCO2bZP11d5kAREd4kJxA7o5SO5e2VtDJurf5COjmGXRl31AuafeXLZdtWzdSOuy5/

Lw5k+X2LnKohZYupzZ3I7O+K1x2MOuXMXgg/ZdOyyrkaMGC78s6EFhVGoTfZUU/lH8TE6v2BL0RSqbD4Ty5YZ81

+ZMezUvuyTlY7OdA6Jda/hPd teerapat_khu@truecorp.co.th

9

File

Copy this

Add key to SSH Agent

$ eval `ssh-agent -s`

Agent pid 7260

10

Add key to SSH Agent

$ eval `ssh-agent -s`

Agent pid 7260

$ ssh-add /home/teerapat_khu/.ssh/ida_rsa.pub

Enter passphrase for ssh-add /home/teerapat_khu/.ssh/ida_rsa.pub:

11

PuTTY Key Generator

12

• On windows use Putty Key generator

PuTTY Key Generator

13

• On windows use Putty Key generator

Copy this

Save to file

Add SSH Key to SourceTree

14

Add SSH Key to Gitlab

15

Profile Settings > SSH Keys

Add SSH Key to Gitlab (cont.)

16

Profile Settings > SSH Keys > Add SSH Key

SourceTree: Create New Repository

17

Git: Create New Repository

$ git initInitialized empty Git repository in

/home/teerapat_khu/mywebapp/.git/

18

SourceTree: Clone Gitlab Project

19

Git: Clone Gitlab Project

$ git clone git@gitlab.vcs.true.th:Teera36/my-

webapp.git

Cloning into 'my-webapp'...

warning: You appear to have cloned an empty repository.

Checking connectivity... done.

20

SourceTree: Add Remote Repository

21

SourceTree: Add Remote Repository

(cont.)

22

SourceTree: Add Remote Repository

(cont.)

23

SourceTree: Add Remote Repository

(cont.)

24

Git: Add Remote Repository

$ git remote add gitlab-vcs \

git@gitlab.vcs.true.th:Teera36/my-

webapp.git

25

SourceTree: Make some change

26

SourceTree: Add file to staged

27

Git: Add file to staged

$ git add .

28

SourceTree: Commit

29

Git: Commit

$ git commit –m “First commit”[develop a75c276] First commit

18 files changed, 724 insertions(+)

create mode 100755 .bowerrc

create mode 100755 .editorconfig

create mode 100755 .gitattributes

create mode 100755 .gitignore

create mode 100755 .jshintrc

create mode 100755 .yo-rc.json

create mode 100755 Gruntfile.js

create mode 100755 app/favicon.ico

create mode 100755 app/index.html

create mode 100755 app/robots.txt

create mode 100755 app/scripts/main.js

create mode 100755 app/styles/main.css

create mode 100755 bower.json

create mode 100755 package.json

create mode 100755 test/.bowerrc

create mode 100755 test/bower.json

create mode 100755 test/index.html

create mode 100755 test/spec/test.js

30

SourceTree: Log/History

31

Git: Log/History

$ git logcommit a75c2764c720fd4fccab54d8ef1e8a7bb6244060

Author: teerapat_khu <teerapat_khu@truecorp.co.th>

Date: Thu Jun 11 19:02:27 2015 +0700

First commit

32

SourceTree: Push to Remote Repo

33

Git: Push to Remote Repo

$ git push –u gitlab-vcs masterCounting objects: 2, done.

Writing objects: 100% (2/2), 161 bytes | 0 bytes/s, done.

Total 2 (delta 0), reused 0 (delta 0)

To git@gitlab.vcs.true.th:Teera36/my-webapp.git

* [new branch] master -> master

Branch master set up to track remote branch master from gitlab-

vcs.

34

SourceTree: Log/History

35

Git: Log/History

$ git logcommit a75c2764c720fd4fccab54d8ef1e8a7bb6244060

Author: teerapat_khu <teerapat_khu@truecorp.co.th>

Date: Thu Jun 11 19:02:27 2015 +0700

First commit

36

SourceTree: Git Flow initial

37

Git: Git Flow initial

$ git flow initNo branches exist yet. Base branches must be created now.

Branch name for production releases: [master]

Branch name for "next release" development: [develop]

How to name your supporting branch prefixes?

Feature branches? [feature/]

Release branches? [release/]

Hotfix branches? [hotfix/]

Support branches? [support/]

Version tag prefix? []

38

SouceTree: Log/History

39

Git: Log/History

$ git branch

* develop

master

40

SourceTree: Start new feature

41

SourceTree: Start new feature (cont.)

42

Git: Start new feature

$ git flow feature start Create_Index_PageSwitched to a new branch 'feature/Create_Index_Page'

Summary of actions:

- A new branch 'feature/Create_Index_Page' was created, based on

'develop'

- You are now on branch 'feature/Create_Index_Page'

Now, start committing on your feature. When done, use:

git flow feature finish Create_Index_Page

43

SourceTree: Log/History

44

Git: Log/History

$ git branchdevelop

* feature/Create_Index_Page

master

45

SourceTree: New Feature (add)

46

Git: New Feature (add)

$ vi app/index.html

$ git statusOn branch feature/Create_Index_Page

Changes not staged for commit:

(use "git add <file>..." to update what will be committed)

(use "git checkout -- <file>..." to discard changes in working

directory)

modified: app/index.html

no changes added to commit (use "git add" and/or "git commit -a")

47

SourceTree: New Feature (add)

48

Git: New Feature (add)

$ git add .

49

SourceTree: New Feature (commit)

50

Git: New Feature (commit)

$ git commit -m "edit for include css bower

file"[feature/Create_Index_Page 4121469] edit for include

css bower file

1 file changed, 1 insertion(+), 1 deletion(-)

51

SourceTree: New Feature (log)

52

Git: New Feature (log)

$ git branch

develop

* feature/Create_Index_Page

master

$ git log --graph --pretty=oneline --abbrev-commit* 4121469 edit for include css bower file

* a75c276 First commit

53

SourceTree: Finish Feature

54

SourceTree: Finish Feature

55

Git: Finish Feature

$ git flow feature finish Create_Index_Page

Switched to branch 'develop'

Updating a75c276..4121469

Fast-forward

app/index.html | 2 +-

1 file changed, 1 insertion(+), 1 deletion(-)

Deleted branch feature/Create_Index_Page (was 4121469).

Summary of actions:

- The feature branch 'feature/Create_Index_Page' was

merged into 'develop'

- Feature branch 'feature/Create_Index_Page' has been

removed

- You are now on branch 'develop'

56

SourceTree: Log/History

57

Git: Log/History

$ git branch

* develop

master

$ git log --graph --pretty=oneline --abbrev-commit* 4121469 edit for include css bower file

* a75c276 First commit

58

SourceTree: Start New Release

59

SourceTree: Start New Release

60

Git: Start New Release

$ git flow release start MyWebApp-1.0-unstableSwitched to a new branch 'release/MyWebApp-1.0-unstable'

Summary of actions:- A new branch 'release/MyWebApp-1.0-unstable' was created, based on 'develop'- You are now on branch 'release/MyWebApp-1.0-unstable'

Follow-up actions:- Bump the version number now!- Start committing last-minute fixes in preparing your release- When done, run:

git flow release finish 'MyWebApp-1.0-unstable'

61

Git: Log/History

$ git branch

develop

master

* release/MyWebApp-1.0-unstable

$ git log --graph --pretty=oneline --abbrev-commit* 4121469 edit for include css bower file

* a75c276 First commit

62

SourceTree: Finish Release

63

SourceTree: Finish Release and add Tag

64

Git: Finish Release

$ git flow release finish MyWebApp-1.0-unstableSwitched to branch 'master'

Your branch is up-to-date with 'gitlab-vcs/master'.

Merge made by the 'recursive' strategy.

.bowerrc | 3 ++

.editorconfig | 21 +++++++++

.gitattributes | 1 +

Deleted branch release/MyWebApp-1.0-unstable (was

4121469).

Summary of actions:

- Latest objects have been fetched from 'origin'

- Release branch has been merged into 'master'

- The release was tagged 'MyWebApp-1.0-unstable'

- Release branch has been back-merged into 'develop'

- Release branch 'release/MyWebApp-1.0-unstable' has been

deleted

65

SourceTree: Log/History

66

Git: Log/History

$ git branch

develop

* master

$ git log --graph --pretty=oneline --abbrev-commit* 8811504 Merge branch 'release/MyWebApp-1.0-unstable'

|\

| * 4121469 edit for include css bower file

| |

|/

* a75c276 First commit

67

Gitlab: View Branch

68

Gitlab: Create New Branch

69

Gitlab: Create New Branch

70

SourceTree: Fetch From Remote Repo

71

Git: Fetch From Remote Repo

$ git fetch gitlab-vcs

From gitlab.vcs.true.th:Teera36/my-webapp

* [new branch] develop -> gitlab-vcs/develop

72

SourceTree: Push to Remote Repo

73

Git: Push to Remote Repo

$ git push -u gitlab-vcs develop

Total 0 (delta 0), reused 0 (delta 0)

To git@gitlab.vcs.true.th:Teera36/my-webapp.git

b28c91b..4121469 develop -> develop

Branch develop set up to track remote branch develop from

gitlab-vcs.

74

Make some changes

75

SourceTree: Log/History

76

Git: Log/History

$ git checkout developSwitched to branch 'develop'

Your branch is up-to-date with 'gitlab-vcs/develop'.

$ vim app/index.html

$ git add .

$ git commit -m "Add \"Sign up\" Menu"[develop 13c959a] Add "Sign up" Menu

1 file changed, 1 insertion(+)

$ git log --graph --pretty=oneline --abbrev-commit* 13c959a Add "Sign up" Menu

* 4121469 edit for include css bower file

* a75c276 First commit

77

SourceTree: Add Commit on Develop

78

Git: Add Commit on Develop

$ vim app/index.html

$ git add .

$ git commit -m “Fix css"[develop 1c8980f] Fix css

1 file changed, 1 insertion(+)

$ git log --graph --pretty=oneline --abbrev-commit* 1c8980f Fix css

* 13c959a Add "Sign up" Menu

* 4121469 edit for include css bower file

* a75c276 First commit

79

SourceTree: Start New Release

80

SourceTree: Start New Release

81

Git: Start New Release

$ git flow release start MyWebApp-1.1-unstableSwitched to a new branch 'release/MyWebApp-1.1-unstable'

Summary of actions:

- A new branch 'release/MyWebApp-1.1-unstable' was

created, based on 'develop'

- You are now on branch 'release/MyWebApp-1.1-unstable'

Follow-up actions:

- Bump the version number now!

- Start committing last-minute fixes in preparing your

release

- When done, run:

git flow release finish 'MyWebApp-1.1-unstable'

82

SourceTree: Log/History

83

Git Log/History

$ git branchdevelop

master

* release/MyWebApp-1.1-unstable

84

SourceTree: Finish Release

85

SourceTree: Finish Release

86

Git: Finish Release

$ git flow release finish MyWebApp-1.1-unstableSwitched to branch 'master'

Your branch is up-to-date with 'gitlab-vcs/master'.

Merge made by the 'recursive' strategy.

app/index.html | 2 ++

1 file changed, 2 insertions(+)

Deleted branch release/MyWebApp-1.1-unstable (was

1c8980f).

Summary of actions:

- Latest objects have been fetched from 'origin'

- Release branch has been merged into 'master'

- The release was tagged 'MyWebApp-1.1-unstable'

- Release branch has been back-merged into 'develop'

- Release branch 'release/MyWebApp-1.1-unstable' has been

deleted

87

SourceTree: Finish Release

88

Git: Log/History

$ git branchdevelop

* master

$ git log --graph --pretty=oneline --abbrev-commit* e7fe2e7 Merge branch 'release/MyWebApp-1.1-unstable'

|\

| * 1c8980f Fix css

| * 13c959a Add "Sign up" Menu

* | 8811504 Merge branch 'release/MyWebApp-1.0-unstable'

|\ \

| |/

| * 4121469 edit for include css bower file

| |

|/

* a75c276 First commit

89

SourceTree: Push to Remote Repo

90

Git: Push to Remote Repo

$ git push -u gitlab-vcs developCounting objects: 8, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (8/8), done.

Writing objects: 100% (8/8), 701 bytes | 0 bytes/s, done.

Total 8 (delta 6), reused 0 (delta 0)

To git@gitlab.vcs.true.th:Teera36/my-webapp.git

4121469..1c8980f develop -> develop

Branch develop set up to track remote branch develop from

gitlab-vcs.

91

Gitlab: Merge Request

92

Gitlab: Merge Request (code review)

93

Gitlab: Merge Request (code review)

94

Gitlab: Merge Request

95

Gitlab: Merge Request

96

Gitlab: Merge Request

(Accept request)

97

Gitlab: Merge Request

(Accept request)

98

Gitlab: History/Log

99

Make some changes

100

Gitlab: History/Log

101

Gitlab: History/Log

102

top related