SlideShare uma empresa Scribd logo
1 de 102
Baixar para ler offline
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.pub
ssh-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.pub
ssh-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 init
Initialized 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 log
commit 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 master
Counting 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 log
commit 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 init
No 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_Page
Switched 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 branch
develop
* feature/Create_Index_Page
master
45
SourceTree: New Feature (add)
46
Git: New Feature (add)
$ vi app/index.html
$ git status
On 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-unstable
Switched 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-unstable
Switched 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 develop
Switched 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-unstable
Switched 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 branch
develop
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-unstable
Switched 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 branch
develop
* 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 develop
Counting 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

Mais conteúdo relacionado

Mais procurados

Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionAnwarul Islam
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHubThibault Vlacich
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Simplilearn
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow IntroductionDavid Paluy
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHubJames Gray
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Istio service mesh introduction
Istio service mesh introductionIstio service mesh introduction
Istio service mesh introductionKyohei Mizumoto
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version ControlSourabh Sahu
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flowKnoldus Inc.
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 

Mais procurados (20)

Introduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training SessionIntroduction to Gitlab | Gitlab 101 | Training Session
Introduction to Gitlab | Gitlab 101 | Training Session
 
Git flow
Git flowGit flow
Git flow
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git commands
Git commandsGit commands
Git commands
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
Présentation Git & GitHub
Présentation Git & GitHubPrésentation Git & GitHub
Présentation Git & GitHub
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Learning git
Learning gitLearning git
Learning git
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Istio service mesh introduction
Istio service mesh introductionIstio service mesh introduction
Istio service mesh introduction
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Understanding GIT and Version Control
Understanding GIT and Version ControlUnderstanding GIT and Version Control
Understanding GIT and Version Control
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 

Destaque

DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDocker, Inc.
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with JenkinsEdureka!
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentSven Peters
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingCarlos Sanchez
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bambooSteve Smith
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Tracy Kennedy
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CIAtlassian
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introductionSven Peters
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platformdcjuengst
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonarRocío Muñoz
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideRohit Arora
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins DockerAlex Soto
 
DevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerDevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerSonatype
 
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
 

Destaque (17)

DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and ComposeDockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
DockerCon EU 2015: Continuous Integration with Jenkins, Docker and Compose
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Dockercon2015 bamboo
Dockercon2015 bambooDockercon2015 bamboo
Dockercon2015 bamboo
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)
 
Game of Codes: the Battle for CI
Game of Codes: the Battle for CIGame of Codes: the Battle for CI
Game of Codes: the Battle for CI
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
Master Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins PlatformMaster Continuous Delivery with CloudBees Jenkins Platform
Master Continuous Delivery with CloudBees Jenkins Platform
 
Ic maven jenkins_sonar
Ic maven jenkins_sonarIc maven jenkins_sonar
Ic maven jenkins_sonar
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guide
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
DevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for DockerDevOps and Continuous Delivery reference architectures for Docker
DevOps and Continuous Delivery reference architectures for Docker
 
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 
Speaking part 3
Speaking part 3Speaking part 3
Speaking part 3
 

Semelhante a Gitlab Training with GIT and SourceTree

Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for ArtistsDavid Newbury
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer CheatsheetAbdul Basit
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03Gourav Varma
 
Git lab installation guide
Git lab installation guideGit lab installation guide
Git lab installation guideRaiful Hasan
 
Git session Dropsolid.com
Git session Dropsolid.comGit session Dropsolid.com
Git session Dropsolid.comdropsolid
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developersWim Godden
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installationRaiful Hasan
 
Git Acquainted
Git AcquaintedGit Acquainted
Git Acquaintedtylerhunt
 
Git 101 Workshop
Git 101 WorkshopGit 101 Workshop
Git 101 WorkshopJoy Seng
 
Git workflows automat-it
Git workflows automat-itGit workflows automat-it
Git workflows automat-itAutomat-IT
 

Semelhante a Gitlab Training with GIT and SourceTree (20)

Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
 
Git github
Git githubGit github
Git github
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git101
Git101Git101
Git101
 
Gittalk
GittalkGittalk
Gittalk
 
Git Developer Cheatsheet
Git Developer CheatsheetGit Developer Cheatsheet
Git Developer Cheatsheet
 
GitSetupLinux
GitSetupLinuxGitSetupLinux
GitSetupLinux
 
Git setuplinux
Git setuplinuxGit setuplinux
Git setuplinux
 
GDSC GIT AND GITHUB
GDSC GIT AND GITHUB GDSC GIT AND GITHUB
GDSC GIT AND GITHUB
 
Version control git day03
Version control   git day03Version control   git day03
Version control git day03
 
Git lab installation guide
Git lab installation guideGit lab installation guide
Git lab installation guide
 
GIT By Sivakrishna
GIT By SivakrishnaGIT By Sivakrishna
GIT By Sivakrishna
 
Git session Dropsolid.com
Git session Dropsolid.comGit session Dropsolid.com
Git session Dropsolid.com
 
Practical git for developers
Practical git for developersPractical git for developers
Practical git for developers
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
Gitlab installation
Gitlab installationGitlab installation
Gitlab installation
 
Git Acquainted
Git AcquaintedGit Acquainted
Git Acquainted
 
Git 101 Workshop
Git 101 WorkshopGit 101 Workshop
Git 101 Workshop
 
Git workflows automat-it
Git workflows automat-itGit workflows automat-it
Git workflows automat-it
 

Último

ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfNainaShrivastava14
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdfAkritiPradhan2
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsResearcher Researcher
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptxmohitesoham12
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solidnamansinghjarodiya
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdfCaalaaAbdulkerim
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfalene1
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 

Último (20)

ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdfPaper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
Paper Tube : Shigeru Ban projects and Case Study of Cardboard Cathedral .pdf
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdfDEVICE DRIVERS AND INTERRUPTS  SERVICE MECHANISM.pdf
DEVICE DRIVERS AND INTERRUPTS SERVICE MECHANISM.pdf
 
Novel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending ActuatorsNovel 3D-Printed Soft Linear and Bending Actuators
Novel 3D-Printed Soft Linear and Bending Actuators
 
Python Programming for basic beginners.pptx
Python Programming for basic beginners.pptxPython Programming for basic beginners.pptx
Python Programming for basic beginners.pptx
 
Engineering Drawing section of solid
Engineering Drawing     section of solidEngineering Drawing     section of solid
Engineering Drawing section of solid
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Research Methodology for Engineering pdf
Research Methodology for Engineering pdfResearch Methodology for Engineering pdf
Research Methodology for Engineering pdf
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdfComprehensive energy systems.pdf Comprehensive energy systems.pdf
Comprehensive energy systems.pdf Comprehensive energy systems.pdf
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 

Gitlab Training with GIT and SourceTree

  • 1. Gitlab Training Teerapat Khunpech VCS Technology True Information Technology 1
  • 2. Gitlab : New Project 2
  • 3. Gitlab : New Project (cont.) 3
  • 4. Gitlab : New Project (cont.) 4
  • 6. 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
  • 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 7
  • 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.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjw9w7vbV3bQZ9kWBCBTVK2vYIMX+k6Zo6hf/MDVE2dttCdQJ87+dDdO jRfudizsjge0nLb/pFfWtyTbZu9NGLPo/PRYD9PAPOoU6Bp9fhOCjV4ShZQQcEnZ+iIsmGAoCR08JAW/kVsu55U 8EHxuCv7Tq0L3LhUPqfbmbCO2bZP11d5kAREd4kJxA7o5SO5e2VtDJurf5COjmGXRl31AuafeXLZdtWzdSOuy5/ Lw5k+X2LnKohZYupzZ3I7O+K1x2MOuXMXgg/ZdOyyrkaMGC78s6EFhVGoTfZUU/lH8TE6v2BL0RSqbD4Ty5YZ81 +ZMezUvuyTlY7OdA6Jda/hPd teerapat_khu@truecorp.co.th 8
  • 9. 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.pub ssh-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
  • 10. Add key to SSH Agent $ eval `ssh-agent -s` Agent pid 7260 10
  • 11. 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
  • 12. PuTTY Key Generator 12 • On windows use Putty Key generator
  • 13. PuTTY Key Generator 13 • On windows use Putty Key generator Copy this Save to file
  • 14. Add SSH Key to SourceTree 14
  • 15. Add SSH Key to Gitlab 15 Profile Settings > SSH Keys
  • 16. Add SSH Key to Gitlab (cont.) 16 Profile Settings > SSH Keys > Add SSH Key
  • 17. SourceTree: Create New Repository 17
  • 18. Git: Create New Repository $ git init Initialized empty Git repository in /home/teerapat_khu/mywebapp/.git/ 18
  • 20. 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
  • 21. SourceTree: Add Remote Repository 21
  • 22. SourceTree: Add Remote Repository (cont.) 22
  • 23. SourceTree: Add Remote Repository (cont.) 23
  • 24. SourceTree: Add Remote Repository (cont.) 24
  • 25. Git: Add Remote Repository $ git remote add gitlab-vcs git@gitlab.vcs.true.th:Teera36/my- webapp.git 25
  • 27. SourceTree: Add file to staged 27
  • 28. Git: Add file to staged $ git add . 28
  • 30. 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
  • 32. Git: Log/History $ git log commit a75c2764c720fd4fccab54d8ef1e8a7bb6244060 Author: teerapat_khu <teerapat_khu@truecorp.co.th> Date: Thu Jun 11 19:02:27 2015 +0700 First commit 32
  • 33. SourceTree: Push to Remote Repo 33
  • 34. Git: Push to Remote Repo $ git push –u gitlab-vcs master Counting 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
  • 36. Git: Log/History $ git log commit a75c2764c720fd4fccab54d8ef1e8a7bb6244060 Author: teerapat_khu <teerapat_khu@truecorp.co.th> Date: Thu Jun 11 19:02:27 2015 +0700 First commit 36
  • 37. SourceTree: Git Flow initial 37
  • 38. Git: Git Flow initial $ git flow init No 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
  • 40. Git: Log/History $ git branch * develop master 40
  • 41. SourceTree: Start new feature 41
  • 42. SourceTree: Start new feature (cont.) 42
  • 43. Git: Start new feature $ git flow feature start Create_Index_Page Switched 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
  • 45. Git: Log/History $ git branch develop * feature/Create_Index_Page master 45
  • 47. Git: New Feature (add) $ vi app/index.html $ git status On 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
  • 49. Git: New Feature (add) $ git add . 49
  • 50. SourceTree: New Feature (commit) 50
  • 51. 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
  • 53. 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
  • 56. 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
  • 58. 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
  • 59. SourceTree: Start New Release 59
  • 60. SourceTree: Start New Release 60
  • 61. Git: Start New Release $ git flow release start MyWebApp-1.0-unstable Switched 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
  • 62. 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
  • 64. SourceTree: Finish Release and add Tag 64
  • 65. Git: Finish Release $ git flow release finish MyWebApp-1.0-unstable Switched 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
  • 67. 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
  • 69. Gitlab: Create New Branch 69
  • 70. Gitlab: Create New Branch 70
  • 71. SourceTree: Fetch From Remote Repo 71
  • 72. Git: Fetch From Remote Repo $ git fetch gitlab-vcs From gitlab.vcs.true.th:Teera36/my-webapp * [new branch] develop -> gitlab-vcs/develop 72
  • 73. SourceTree: Push to Remote Repo 73
  • 74. 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
  • 77. Git: Log/History $ git checkout develop Switched 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
  • 78. SourceTree: Add Commit on Develop 78
  • 79. 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
  • 80. SourceTree: Start New Release 80
  • 81. SourceTree: Start New Release 81
  • 82. Git: Start New Release $ git flow release start MyWebApp-1.1-unstable Switched 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
  • 84. Git Log/History $ git branch develop master * release/MyWebApp-1.1-unstable 84
  • 87. Git: Finish Release $ git flow release finish MyWebApp-1.1-unstable Switched 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
  • 89. Git: Log/History $ git branch develop * 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
  • 90. SourceTree: Push to Remote Repo 90
  • 91. Git: Push to Remote Repo $ git push -u gitlab-vcs develop Counting 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
  • 93. Gitlab: Merge Request (code review) 93
  • 94. Gitlab: Merge Request (code review) 94