SlideShare une entreprise Scribd logo
1  sur  102
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Programmazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaProgrammazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaCristina Attori
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for BeginnersNebulaworks
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nulsMalk Zameth
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in actionOleksii Holub
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practiceMajid Hosseini
 
Version Control History and Git Basics
Version Control History and Git BasicsVersion Control History and Git Basics
Version Control History and Git BasicsSreedath N S
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with DroneBo-Yi Wu
 
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
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Valerio Radice
 

Tendances (20)

Programmazione funzionale e Stream in Java
Programmazione funzionale e Stream in JavaProgrammazione funzionale e Stream in Java
Programmazione funzionale e Stream in Java
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
Github basics
Github basicsGithub basics
Github basics
 
Tutoriel GIT
Tutoriel GITTutoriel GIT
Tutoriel GIT
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
Git pour les (pas si) nuls
Git pour les (pas si) nulsGit pour les (pas si) nuls
Git pour les (pas si) nuls
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in action
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Version Control History and Git Basics
Version Control History and Git BasicsVersion Control History and Git Basics
Version Control History and Git Basics
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Github in Action
Github in ActionGithub in Action
Github in Action
 
Introduction to Gitea with Drone
Introduction to Gitea with DroneIntroduction to Gitea with Drone
Introduction to Gitea with Drone
 
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
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 - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Git
GitGit
Git
 
Git basic
Git basicGit basic
Git basic
 
Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)Introduzione a Git (ITA - 2017)
Introduzione a Git (ITA - 2017)
 

En vedette

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
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
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
 
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
 
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
 

En vedette (19)

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
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
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
 
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
 
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
 

Similaire à 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
 

Similaire à 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
 
Git setuplinux
Git setuplinuxGit setuplinux
Git setuplinux
 
GitSetupLinux
GitSetupLinuxGitSetupLinux
GitSetupLinux
 
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
 

Dernier

Tekom Netherlands | The evolving landscape of Simplified Technical English b...
Tekom Netherlands | The evolving landscape of Simplified Technical English  b...Tekom Netherlands | The evolving landscape of Simplified Technical English  b...
Tekom Netherlands | The evolving landscape of Simplified Technical English b...Shumin Chen
 
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-2 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical EngineeringC Sai Kiran
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesMark Billinghurst
 
zomato data mining datasets for quality prefernece and conntrol.pptx
zomato data mining  datasets for quality prefernece and conntrol.pptxzomato data mining  datasets for quality prefernece and conntrol.pptx
zomato data mining datasets for quality prefernece and conntrol.pptxPratikMhatre39
 
عناصر نباتية PDF.pdfbotanical elements..
عناصر نباتية PDF.pdfbotanical elements..عناصر نباتية PDF.pdfbotanical elements..
عناصر نباتية PDF.pdfbotanical elements..mennamohamed200y
 
Support nodes for large-span coal storage structures
Support nodes for large-span coal storage structuresSupport nodes for large-span coal storage structures
Support nodes for large-span coal storage structureswendy cai
 
عناصر نباتية PDF.pdf architecture engineering
عناصر نباتية PDF.pdf architecture engineeringعناصر نباتية PDF.pdf architecture engineering
عناصر نباتية PDF.pdf architecture engineeringmennamohamed200y
 
The Journey of Process Safety Management: Past, Present, and Future Trends
The Journey of Process Safety Management: Past, Present, and Future TrendsThe Journey of Process Safety Management: Past, Present, and Future Trends
The Journey of Process Safety Management: Past, Present, and Future Trendssoginsider
 
Final PPT.ppt about human detection and counting
Final PPT.ppt  about human detection and countingFinal PPT.ppt  about human detection and counting
Final PPT.ppt about human detection and countingArbazAhmad25
 
presentation by faizan[1] [Read-Only].pptx
presentation by faizan[1] [Read-Only].pptxpresentation by faizan[1] [Read-Only].pptx
presentation by faizan[1] [Read-Only].pptxkhfaizan534
 
A brief about Jeypore Sub-station Presentation
A brief about Jeypore Sub-station PresentationA brief about Jeypore Sub-station Presentation
A brief about Jeypore Sub-station PresentationJeyporess2021
 
Searching and Sorting Algorithms
Searching and Sorting AlgorithmsSearching and Sorting Algorithms
Searching and Sorting AlgorithmsAshutosh Satapathy
 
Advanced Additive Manufacturing by Sumanth A.pptx
Advanced Additive Manufacturing by Sumanth A.pptxAdvanced Additive Manufacturing by Sumanth A.pptx
Advanced Additive Manufacturing by Sumanth A.pptxSumanth A
 
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024California Asphalt Pavement Association
 
Introduction to Data Structures .
Introduction to Data Structures        .Introduction to Data Structures        .
Introduction to Data Structures .Ashutosh Satapathy
 
First Review Group 1 PPT.pptx with slide
First Review Group 1 PPT.pptx with slideFirst Review Group 1 PPT.pptx with slide
First Review Group 1 PPT.pptx with slideMonika860882
 
NIPORT Home Economics Questions Solution 2024.pdf
NIPORT Home Economics Questions Solution 2024.pdfNIPORT Home Economics Questions Solution 2024.pdf
NIPORT Home Economics Questions Solution 2024.pdfMohonDas
 
Wave Energy Technologies Overtopping 1 - Tom Thorpe.pdf
Wave Energy Technologies Overtopping 1 - Tom Thorpe.pdfWave Energy Technologies Overtopping 1 - Tom Thorpe.pdf
Wave Energy Technologies Overtopping 1 - Tom Thorpe.pdfErik Friis-Madsen
 

Dernier (20)

Tekom Netherlands | The evolving landscape of Simplified Technical English b...
Tekom Netherlands | The evolving landscape of Simplified Technical English  b...Tekom Netherlands | The evolving landscape of Simplified Technical English  b...
Tekom Netherlands | The evolving landscape of Simplified Technical English b...
 
Caltrans view on recycling of in-place asphalt pavements
Caltrans view on recycling of in-place asphalt pavementsCaltrans view on recycling of in-place asphalt pavements
Caltrans view on recycling of in-place asphalt pavements
 
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical EngineeringIntroduction to Machine Learning Unit-2 Notes for II-II Mechanical Engineering
Introduction to Machine Learning Unit-2 Notes for II-II Mechanical Engineering
 
Evaluation Methods for Social XR Experiences
Evaluation Methods for Social XR ExperiencesEvaluation Methods for Social XR Experiences
Evaluation Methods for Social XR Experiences
 
zomato data mining datasets for quality prefernece and conntrol.pptx
zomato data mining  datasets for quality prefernece and conntrol.pptxzomato data mining  datasets for quality prefernece and conntrol.pptx
zomato data mining datasets for quality prefernece and conntrol.pptx
 
Industry perspective on cold in-place recycling
Industry perspective on cold in-place recyclingIndustry perspective on cold in-place recycling
Industry perspective on cold in-place recycling
 
عناصر نباتية PDF.pdfbotanical elements..
عناصر نباتية PDF.pdfbotanical elements..عناصر نباتية PDF.pdfbotanical elements..
عناصر نباتية PDF.pdfbotanical elements..
 
Support nodes for large-span coal storage structures
Support nodes for large-span coal storage structuresSupport nodes for large-span coal storage structures
Support nodes for large-span coal storage structures
 
عناصر نباتية PDF.pdf architecture engineering
عناصر نباتية PDF.pdf architecture engineeringعناصر نباتية PDF.pdf architecture engineering
عناصر نباتية PDF.pdf architecture engineering
 
The Journey of Process Safety Management: Past, Present, and Future Trends
The Journey of Process Safety Management: Past, Present, and Future TrendsThe Journey of Process Safety Management: Past, Present, and Future Trends
The Journey of Process Safety Management: Past, Present, and Future Trends
 
Final PPT.ppt about human detection and counting
Final PPT.ppt  about human detection and countingFinal PPT.ppt  about human detection and counting
Final PPT.ppt about human detection and counting
 
presentation by faizan[1] [Read-Only].pptx
presentation by faizan[1] [Read-Only].pptxpresentation by faizan[1] [Read-Only].pptx
presentation by faizan[1] [Read-Only].pptx
 
A brief about Jeypore Sub-station Presentation
A brief about Jeypore Sub-station PresentationA brief about Jeypore Sub-station Presentation
A brief about Jeypore Sub-station Presentation
 
Searching and Sorting Algorithms
Searching and Sorting AlgorithmsSearching and Sorting Algorithms
Searching and Sorting Algorithms
 
Advanced Additive Manufacturing by Sumanth A.pptx
Advanced Additive Manufacturing by Sumanth A.pptxAdvanced Additive Manufacturing by Sumanth A.pptx
Advanced Additive Manufacturing by Sumanth A.pptx
 
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024
Caltrans District 8 Update for the CalAPA Spring Asphalt Conference 2024
 
Introduction to Data Structures .
Introduction to Data Structures        .Introduction to Data Structures        .
Introduction to Data Structures .
 
First Review Group 1 PPT.pptx with slide
First Review Group 1 PPT.pptx with slideFirst Review Group 1 PPT.pptx with slide
First Review Group 1 PPT.pptx with slide
 
NIPORT Home Economics Questions Solution 2024.pdf
NIPORT Home Economics Questions Solution 2024.pdfNIPORT Home Economics Questions Solution 2024.pdf
NIPORT Home Economics Questions Solution 2024.pdf
 
Wave Energy Technologies Overtopping 1 - Tom Thorpe.pdf
Wave Energy Technologies Overtopping 1 - Tom Thorpe.pdfWave Energy Technologies Overtopping 1 - Tom Thorpe.pdf
Wave Energy Technologies Overtopping 1 - Tom Thorpe.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