Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Gitlab Training with GIT and SourceTree

21,733 views

Published on

Gitlab Training with GIT and SourceTree

Published in: Engineering
  • Be the first to comment

Gitlab Training with GIT and SourceTree

  1. 1. Gitlab Training Teerapat Khunpech VCS Technology True Information Technology 1
  2. 2. Gitlab : New Project 2
  3. 3. Gitlab : New Project (cont.) 3
  4. 4. Gitlab : New Project (cont.) 4
  5. 5. TIPS Use SSH Key 5
  6. 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. 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. 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. 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. 10. Add key to SSH Agent $ eval `ssh-agent -s` Agent pid 7260 10
  11. 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. 12. PuTTY Key Generator 12 • On windows use Putty Key generator
  13. 13. PuTTY Key Generator 13 • On windows use Putty Key generator Copy this Save to file
  14. 14. Add SSH Key to SourceTree 14
  15. 15. Add SSH Key to Gitlab 15 Profile Settings > SSH Keys
  16. 16. Add SSH Key to Gitlab (cont.) 16 Profile Settings > SSH Keys > Add SSH Key
  17. 17. SourceTree: Create New Repository 17
  18. 18. Git: Create New Repository $ git init Initialized empty Git repository in /home/teerapat_khu/mywebapp/.git/ 18
  19. 19. SourceTree: Clone Gitlab Project 19
  20. 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. 21. SourceTree: Add Remote Repository 21
  22. 22. SourceTree: Add Remote Repository (cont.) 22
  23. 23. SourceTree: Add Remote Repository (cont.) 23
  24. 24. SourceTree: Add Remote Repository (cont.) 24
  25. 25. Git: Add Remote Repository $ git remote add gitlab-vcs git@gitlab.vcs.true.th:Teera36/my- webapp.git 25
  26. 26. SourceTree: Make some change 26
  27. 27. SourceTree: Add file to staged 27
  28. 28. Git: Add file to staged $ git add . 28
  29. 29. SourceTree: Commit 29
  30. 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
  31. 31. SourceTree: Log/History 31
  32. 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. 33. SourceTree: Push to Remote Repo 33
  34. 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
  35. 35. SourceTree: Log/History 35
  36. 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. 37. SourceTree: Git Flow initial 37
  38. 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
  39. 39. SouceTree: Log/History 39
  40. 40. Git: Log/History $ git branch * develop master 40
  41. 41. SourceTree: Start new feature 41
  42. 42. SourceTree: Start new feature (cont.) 42
  43. 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
  44. 44. SourceTree: Log/History 44
  45. 45. Git: Log/History $ git branch develop * feature/Create_Index_Page master 45
  46. 46. SourceTree: New Feature (add) 46
  47. 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
  48. 48. SourceTree: New Feature (add) 48
  49. 49. Git: New Feature (add) $ git add . 49
  50. 50. SourceTree: New Feature (commit) 50
  51. 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
  52. 52. SourceTree: New Feature (log) 52
  53. 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
  54. 54. SourceTree: Finish Feature 54
  55. 55. SourceTree: Finish Feature 55
  56. 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
  57. 57. SourceTree: Log/History 57
  58. 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. 59. SourceTree: Start New Release 59
  60. 60. SourceTree: Start New Release 60
  61. 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. 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
  63. 63. SourceTree: Finish Release 63
  64. 64. SourceTree: Finish Release and add Tag 64
  65. 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
  66. 66. SourceTree: Log/History 66
  67. 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
  68. 68. Gitlab: View Branch 68
  69. 69. Gitlab: Create New Branch 69
  70. 70. Gitlab: Create New Branch 70
  71. 71. SourceTree: Fetch From Remote Repo 71
  72. 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. 73. SourceTree: Push to Remote Repo 73
  74. 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
  75. 75. Make some changes 75
  76. 76. SourceTree: Log/History 76
  77. 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. 78. SourceTree: Add Commit on Develop 78
  79. 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. 80. SourceTree: Start New Release 80
  81. 81. SourceTree: Start New Release 81
  82. 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
  83. 83. SourceTree: Log/History 83
  84. 84. Git Log/History $ git branch develop master * release/MyWebApp-1.1-unstable 84
  85. 85. SourceTree: Finish Release 85
  86. 86. SourceTree: Finish Release 86
  87. 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
  88. 88. SourceTree: Finish Release 88
  89. 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. 90. SourceTree: Push to Remote Repo 90
  91. 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
  92. 92. Gitlab: Merge Request 92
  93. 93. Gitlab: Merge Request (code review) 93
  94. 94. Gitlab: Merge Request (code review) 94
  95. 95. Gitlab: Merge Request 95
  96. 96. Gitlab: Merge Request 96
  97. 97. Gitlab: Merge Request (Accept request) 97
  98. 98. Gitlab: Merge Request (Accept request) 98
  99. 99. Gitlab: History/Log 99
  100. 100. Make some changes 100
  101. 101. Gitlab: History/Log 101
  102. 102. Gitlab: History/Log 102

×