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

Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in actionOleksii Holub
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.skJuraj Hantak
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsCarl Brown
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabFilipa Lacerda
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked ChangesJiyeon Seo
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHubNicolás Tourné
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드Insub Lee
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash CourseNilay Binjola
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
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
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An IntroductionBehzad Altaf
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github ActionsKnoldus Inc.
 

Tendances (20)

Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
GitHub Actions in action
GitHub Actions in actionGitHub Actions in action
GitHub Actions in action
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Gitlab ci, cncf.sk
Gitlab ci, cncf.skGitlab ci, cncf.sk
Gitlab ci, cncf.sk
 
Introduction to Git Commands and Concepts
Introduction to Git Commands and ConceptsIntroduction to Git Commands and Concepts
Introduction to Git Commands and Concepts
 
Devops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at GitlabDevops Porto - CI/CD at Gitlab
Devops Porto - CI/CD at Gitlab
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucket
 
Git & GitHub WorkShop
Git & GitHub WorkShopGit & GitHub WorkShop
Git & GitHub WorkShop
 
Github
GithubGithub
Github
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
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
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 

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
 
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)

Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
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
 
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

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...tanu pandey
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 

Dernier (20)

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.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