SlideShare a Scribd company logo
GIT WORKSHOP
ISMET OZOZTURK - SONY
GIT WORKSHOP
ABOUT ME
▸ GWT since Jan 2016
▸ Developer for +4 years
▸ Experienced on Java, Scala
▸ Using GIT for 4 years - with 💙
GIT WORKSHOP
ABOUT ME
GIT WORKSHOP
WHAT YOU WILL LEARN
▸ What is Version Control System (VCS)
▸ What is GIT (not an abbr.)
▸ Typical GIT Workflow
▸ GIT Basics
GIT WORKSHOP
VERSION CONTROL SYSTEMS
▸ Keeps track of your changes on your data
▸ Logs the history of who did what on which files/folders
and when
▸ Provides time traveling to a snapshot of the project on a
specific date/version
▸ Keep/Synchronize files between people in the project
GIT WORKSHOP
WHAT IS GIT?
Thanks to Linus Torvalds i.e. father of Linux
GIT WORKSHOP
WHAT IS GIT?
Harder, Better, Faster, Stronger
GIT WORKSHOP
WHAT IS GIT?
▸ Distributed
▸ Hosted versions: Github, Bitbucket
▸ Download: http://www.git-scm.com
▸ GUI? Sourcetree
GIT WORKSHOP
GIT WORKFLOW
GIT WORKSHOP
GIT WORKFLOW
Working Directory
Index
Local Repo
Remote Repo
Local clone(copy) of actual repo
Staging of changes
Actual copy of project on local
Internet
Your Mac
GIT WORKSHOP
GIT WORKFLOW
▸ Get a repository: init or clone
▸ Make some changes: edit/create/delete files
▸ Stage changes
▸ Commit your work
▸ Push to remote repository
▸ Don’t worry
▸ Be happy
1. $ git —version

#check if installed

2. $ git config --global user.name “ismet ozozturk”

#check/set name

3. $ git config --global user.email “ismet.ozozturk@sony.com”

#check/set email
GIT WORKSHOP
CONFIGURATION
GIT WORKSHOP
GITHUB
▸ github.com -> create repository
GIT WORKSHOP
GIT WORKFLOW
Working Directory
Index
Local Repo
Remote Repo
Local clone(copy) of actual repo
Staging of changes
Actual copy of project on local
Internet
Your Mac
1. $ mkdir git-workshop

#create directory

2. $ cd git-workshop 

#change directory

3. $ git init

#initialize the local repository

4. $ git status

#check current repo status

▸ $ git clone https://github.com/iozozturk/git-workshop.git
GIT WORKSHOP
GET A REPOSITORY
GIT WORKSHOP
DO SOME WORK
Working Directory
Index
Local Repo
Remote Repo
git commit
git add
Actual copy of project on local
Internet
Your Mac
github.com
GIT WORKSHOP
DO SOME WORK
1. #create a file -> wishlist-ismet.txt

2. $ git add wishlist-ismet.txt 

#stage your work

3. $ git status

#check status

4. $ git commit -m “first commit - have fun!”

#save your state in your local repo
GIT WORKSHOP
CONNECT TO REMOTE REPOSITORY - PUSH YOUR WORK
Working Directory
Index
Local Repo
Remote Repo
Local clone(copy) of actual repo
Staging of changes
Actual copy of project on local
Internet
Your Mac
github.com
GIT WORKSHOP
CONNECT TO REMOTE REPOSITORY - PUSH YOUR WORK
1. $git log

#browse what has changed

2. $ git remote add origin https://github.com/iozozturk/git-workshop.git

#add a remote repository

3. $ git push -u origin master

#push your work to remote repository

GIT WORKSHOP
LET’S PAIR
GIT WORKSHOP
LET’S PAIR
GIT WORKSHOP
PULL OTHERS WORK
Working Directory
Index
Local Repo
Remote Repo
Local clone(copy) of actual repo
Staging of changes
Actual copy of project on local
Internet
Your Mac
github.com
GIT WORKSHOP
PULL OTHERS WORK
1. $ git pull origin master

#check changes and pull them to your working directory

GIT WORKSHOP
BRANCH
▸ Try out an idea, experiment, isolate
▸ Keep long running tasks separate
▸ Share your work with others w/o changing master
▸ Carry unfinished work between machines
GIT WORKSHOP
BRANCH
Commit1
Internet
Your Mac
Commit2
Commit5
Commit1 Commit2
Commit5
GIT WORKSHOP
BRANCH
1. $git branch todo

#create new branch

2. $ git checkout todo

#switch to todo branch

3. $ git rm *.txt

#remove all txt files just for fun

4. $ git commit -m “remove all wishes”

#push your work to remote repository
GIT WORKSHOP
BRANCH - MERGE
Commit1
Internet
Your Mac
Commit2
Commit3
Commit1 Commit2
Commit3
Commit3
Commit3
GIT WORKSHOP
BRANCH - MERGE
1. $git checkout master

#switch back to master

2. $ git merge todo

#merge todo into master

3. $ git push

#remove all txt files just for fun

GIT WORKSHOP
RECAP
🗄 Version Control
GIT & GitHub
📸 Commit your work
⬆ Pushing your work
⬇ Pulling others work
🔀 Branching
ISMET.OZOZTURK@SONY.COM

More Related Content

What's hot

Git Introduction
Git IntroductionGit Introduction
Git Introduction
Gareth Hall
 
Git - The Incomplete Introduction
Git - The Incomplete IntroductionGit - The Incomplete Introduction
Git - The Incomplete Introduction
rschwietzke
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
Mohammad Imam Hossain
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
Jim Yeh
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
Pranav Kulkarni
 
Git basics
Git basicsGit basics
Git basics
Ashwin Date
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
Lee Hanxue
 
Git isthenewsexy
Git isthenewsexyGit isthenewsexy
Git isthenewsexy
Ailsa126
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHub
Puppet
 
Git 101
Git 101Git 101
Git 101
jayrparro
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
Max Claus Nunes
 
Fall18 Git presentation
Fall18 Git presentationFall18 Git presentation
Fall18 Git presentation
JustinTirrell1
 
GitHub Presentation
GitHub PresentationGitHub Presentation
GitHub Presentation
BrianSchilder
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
Pham Quy (Jack)
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
Knoldus Inc.
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
SV Ruby on Rails Meetup
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
聖文 鄭
 
とりあえずはじめるChatOps
とりあえずはじめるChatOpsとりあえずはじめるChatOps
とりあえずはじめるChatOps
正貴 小川
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
Luigi De Russis
 
Get Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with GithubGet Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with Github
Christine O'Connell
 

What's hot (20)

Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git - The Incomplete Introduction
Git - The Incomplete IntroductionGit - The Incomplete Introduction
Git - The Incomplete Introduction
 
GIT | Distributed Version Control System
GIT | Distributed Version Control SystemGIT | Distributed Version Control System
GIT | Distributed Version Control System
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
Git basics
Git basicsGit basics
Git basics
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git isthenewsexy
Git isthenewsexyGit isthenewsexy
Git isthenewsexy
 
Puppet at GitHub
Puppet at GitHubPuppet at GitHub
Puppet at GitHub
 
Git 101
Git 101Git 101
Git 101
 
Introduction to Git and Github
Introduction to Git and Github Introduction to Git and Github
Introduction to Git and Github
 
Fall18 Git presentation
Fall18 Git presentationFall18 Git presentation
Fall18 Git presentation
 
GitHub Presentation
GitHub PresentationGitHub Presentation
GitHub Presentation
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
とりあえずはじめるChatOps
とりあえずはじめるChatOpsとりあえずはじめるChatOps
とりあえずはじめるChatOps
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Get Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with GithubGet Ur Git On: Introduction and getting started with Github
Get Ur Git On: Introduction and getting started with Github
 

Similar to Introduction to Version Control with GIT

VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT Workshop
Anis Ahmad
 
Distributed Developer Workflows using Git
Distributed Developer Workflows using GitDistributed Developer Workflows using Git
Distributed Developer Workflows using Git
Susan Potter
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
Arashdeepkaur16
 
GIT from n00b
GIT from n00bGIT from n00b
GIT from n00b
Supachai Vorrasing
 
Beginner's guide to git and github
Beginner's guide to git and github Beginner's guide to git and github
Beginner's guide to git and github
SahilSonar4
 
Git: be social
Git: be socialGit: be social
Git: be social
Geronimo Orozco
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
PRIYATHAMDARISI
 
簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git
Grace Chien
 
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
Stennie Steneker
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
Robert Lee-Cann
 
Git and github
Git and githubGit and github
Git and github
Teodora Ahkozidou
 
Git and Github
Git and GithubGit and Github
Git and Github
Teodora Ahkozidou
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
Carlos Taborda
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
Derek Jacoby
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
Derek Jacoby
 
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko
 
Advanted git
Advanted git Advanted git
Advanted git
Sahil Gupta
 
Git Heaven with Wakanda
Git Heaven with WakandaGit Heaven with Wakanda
Git Heaven with Wakanda
Juergen Fesslmeier
 
Source control management
Source control managementSource control management
Source control management
Owen Winkler
 
Git
GitGit

Similar to Introduction to Version Control with GIT (20)

VCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT WorkshopVCS for Teamwork - GIT Workshop
VCS for Teamwork - GIT Workshop
 
Distributed Developer Workflows using Git
Distributed Developer Workflows using GitDistributed Developer Workflows using Git
Distributed Developer Workflows using Git
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
GIT from n00b
GIT from n00bGIT from n00b
GIT from n00b
 
Beginner's guide to git and github
Beginner's guide to git and github Beginner's guide to git and github
Beginner's guide to git and github
 
Git: be social
Git: be socialGit: be social
Git: be social
 
Introduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech ArticleIntroduction to GitHub, Open Source and Tech Article
Introduction to GitHub, Open Source and Tech Article
 
簡單介紹git
簡單介紹git簡單介紹git
簡單介紹git
 
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
MongoDB World 2019 Builder's Fest - Ready, Git set ... Go!
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Git and github
Git and githubGit and github
Git and github
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
Untangling fall2017 week2_try2
Untangling fall2017 week2_try2Untangling fall2017 week2_try2
Untangling fall2017 week2_try2
 
Untangling fall2017 week2
Untangling fall2017 week2Untangling fall2017 week2
Untangling fall2017 week2
 
Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015Nina Zakharenko - Introduction to Git - Start SLC 2015
Nina Zakharenko - Introduction to Git - Start SLC 2015
 
Advanted git
Advanted git Advanted git
Advanted git
 
Git Heaven with Wakanda
Git Heaven with WakandaGit Heaven with Wakanda
Git Heaven with Wakanda
 
Source control management
Source control managementSource control management
Source control management
 
Git
GitGit
Git
 

Recently uploaded

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 

Recently uploaded (20)

GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 

Introduction to Version Control with GIT

  • 2. GIT WORKSHOP ABOUT ME ▸ GWT since Jan 2016 ▸ Developer for +4 years ▸ Experienced on Java, Scala ▸ Using GIT for 4 years - with 💙
  • 4. GIT WORKSHOP WHAT YOU WILL LEARN ▸ What is Version Control System (VCS) ▸ What is GIT (not an abbr.) ▸ Typical GIT Workflow ▸ GIT Basics
  • 5. GIT WORKSHOP VERSION CONTROL SYSTEMS ▸ Keeps track of your changes on your data ▸ Logs the history of who did what on which files/folders and when ▸ Provides time traveling to a snapshot of the project on a specific date/version ▸ Keep/Synchronize files between people in the project
  • 6. GIT WORKSHOP WHAT IS GIT? Thanks to Linus Torvalds i.e. father of Linux
  • 7. GIT WORKSHOP WHAT IS GIT? Harder, Better, Faster, Stronger
  • 8. GIT WORKSHOP WHAT IS GIT? ▸ Distributed ▸ Hosted versions: Github, Bitbucket ▸ Download: http://www.git-scm.com ▸ GUI? Sourcetree
  • 10. GIT WORKSHOP GIT WORKFLOW Working Directory Index Local Repo Remote Repo Local clone(copy) of actual repo Staging of changes Actual copy of project on local Internet Your Mac
  • 11. GIT WORKSHOP GIT WORKFLOW ▸ Get a repository: init or clone ▸ Make some changes: edit/create/delete files ▸ Stage changes ▸ Commit your work ▸ Push to remote repository ▸ Don’t worry ▸ Be happy
  • 12. 1. $ git —version
 #check if installed
 2. $ git config --global user.name “ismet ozozturk”
 #check/set name
 3. $ git config --global user.email “ismet.ozozturk@sony.com”
 #check/set email GIT WORKSHOP CONFIGURATION
  • 13. GIT WORKSHOP GITHUB ▸ github.com -> create repository
  • 14. GIT WORKSHOP GIT WORKFLOW Working Directory Index Local Repo Remote Repo Local clone(copy) of actual repo Staging of changes Actual copy of project on local Internet Your Mac
  • 15. 1. $ mkdir git-workshop
 #create directory
 2. $ cd git-workshop 
 #change directory
 3. $ git init
 #initialize the local repository
 4. $ git status
 #check current repo status
 ▸ $ git clone https://github.com/iozozturk/git-workshop.git GIT WORKSHOP GET A REPOSITORY
  • 16. GIT WORKSHOP DO SOME WORK Working Directory Index Local Repo Remote Repo git commit git add Actual copy of project on local Internet Your Mac github.com
  • 17. GIT WORKSHOP DO SOME WORK 1. #create a file -> wishlist-ismet.txt
 2. $ git add wishlist-ismet.txt 
 #stage your work
 3. $ git status
 #check status
 4. $ git commit -m “first commit - have fun!”
 #save your state in your local repo
  • 18. GIT WORKSHOP CONNECT TO REMOTE REPOSITORY - PUSH YOUR WORK Working Directory Index Local Repo Remote Repo Local clone(copy) of actual repo Staging of changes Actual copy of project on local Internet Your Mac github.com
  • 19. GIT WORKSHOP CONNECT TO REMOTE REPOSITORY - PUSH YOUR WORK 1. $git log
 #browse what has changed
 2. $ git remote add origin https://github.com/iozozturk/git-workshop.git
 #add a remote repository
 3. $ git push -u origin master
 #push your work to remote repository

  • 22. GIT WORKSHOP PULL OTHERS WORK Working Directory Index Local Repo Remote Repo Local clone(copy) of actual repo Staging of changes Actual copy of project on local Internet Your Mac github.com
  • 23. GIT WORKSHOP PULL OTHERS WORK 1. $ git pull origin master
 #check changes and pull them to your working directory

  • 24. GIT WORKSHOP BRANCH ▸ Try out an idea, experiment, isolate ▸ Keep long running tasks separate ▸ Share your work with others w/o changing master ▸ Carry unfinished work between machines
  • 26. GIT WORKSHOP BRANCH 1. $git branch todo
 #create new branch
 2. $ git checkout todo
 #switch to todo branch
 3. $ git rm *.txt
 #remove all txt files just for fun
 4. $ git commit -m “remove all wishes”
 #push your work to remote repository
  • 27. GIT WORKSHOP BRANCH - MERGE Commit1 Internet Your Mac Commit2 Commit3 Commit1 Commit2 Commit3 Commit3 Commit3
  • 28. GIT WORKSHOP BRANCH - MERGE 1. $git checkout master
 #switch back to master
 2. $ git merge todo
 #merge todo into master
 3. $ git push
 #remove all txt files just for fun

  • 29. GIT WORKSHOP RECAP 🗄 Version Control GIT & GitHub 📸 Commit your work ⬆ Pushing your work ⬇ Pulling others work 🔀 Branching