SlideShare a Scribd company logo
© 2013 KMS Technology
BOOST YOUR DEV TEAM’S SPEED
AND PRODUCTIVITY
Duy Lam .::. Aug 2013
© 2013 KMS Technology 2
AGENDA
© 2013 KMS Technology 3
Git
Introduction
Branch in Git Remote Git Git Practices
ABOUT ME
Software Architect
at KMS Technology Vietnam
duylam@kms-technology.com
http://vn.linkedin.com/in/duylamphuong
© 2013 KMS Technology 4
Lâm Phương Duy
WHAT YOU TAKE IN THE END
Git
Use Git
Use Git Effectively
Git for advanced needs
Git or else?
© 2013 KMS Technology 5
AGENDA
© 2013 KMS Technology 6
Git
Introduction
Branch in Git Remote Git Git Practices
VERSION CONTROL SYSTEM TYPES
© 2013 KMS Technology 7
Centralized Version
Control System
Distributed Version
Control System
THREE GIT TRAITS
#1 COMMITS ARE SNAPSHOT
© 2013 KMS Technology 8
THREE GIT TRAITS
#2 WORK WITHOUT NETWORK
© 2013 KMS Technology 9
THREE GIT TRAITS
#3 TWO STATES
© 2013 KMS Technology 10
Working Directory Git Repository
git add
git rm
etc.
git commit
Git Index / Staging
Area
BASIC WORKS
(DEMO)
 Create new git repository
 Work on git staging area
 Update git repository
 Check status
 Undo
© 2013 KMS Technology 11
AGENDA
© 2013 KMS Technology 12
Git
Introduction
Branch in Git Remote Git Git Practices
BRANCH AND HOW IT WORKS
© 2013 KMS Technology 13
1 2
3
4
MERGING BRANCH
FAST FORWARD
© 2013 KMS Technology 14
git merge hotfix
MERGING BRANCH
NON FAST FORWARD
© 2013 KMS Technology 15
git merge iss53
AGENDA
© 2013 KMS Technology 16
Git
Introduction
Branch in Git Remote Git Git Practices
REMOTE URLS
© 2013 KMS Technology 17
Local /data/git/project.git
SSH*
user@server:project.git
Git git://server/project.git
HTTP http://server/project.git
(*) Setup authentication: https://help.github.com/articles/generating-ssh-keys
REMOTE BRANCH
© 2013 KMS Technology 18
Time
REMOTE TRACKING BRANCH
 a local branch associated with remote branch
© 2013 KMS Technology 19
> git branch --track [branch] [remote name]/[branch]
UPDATE WITH REMOTE REPOSITORY
GET CHANGES #1
© 2013 KMS Technology 20
Time
git fetch origin
UPDATE WITH REMOTE REPOSITORY
GET CHANGES #2
© 2013 KMS Technology 21
Time
git pull origin
master
origin/master
UPDATE WITH REMOTE REPOSITORY
SAVE CHANGES
© 2013 KMS Technology 22
masterorigin/master
git.ourcompany.com
Time
master
masterorigin/master
git push origin
BASIC WORKS
(DEMO)
 Create remote git repository
 Get new commits from remote repository
 Save new commits to remote repository
© 2013 KMS Technology 23
AGENDA
© 2013 KMS Technology 24
Git
Introduction
Branch in Git Remote Git Git Practices
HIGHLIGHT OF GIT FEATURES
(DEMO)
 git tag
 git stash
 git submodule
© 2013 KMS Technology 25
GIT CLIENTS
 http://git-scm.com: Git CLI (command line
interface)
 UI clients
– TortoiseGit
– SmartGit
– SourceTree Free
– Git Extensions
© 2013 KMS Technology 26
GIT OR SVN ?
Speed of operation Faster
Data loss Less
Independent and isolated environment Yes
Access control Yes
Locking mechanisms Yes
Storage space 1/30 size
© 2013 KMS Technology 27
GIT PRACTICES
 Line-ending issue on platforms
 Do not miss any file when committing in
conflicted merge
© 2013 KMS Technology 28
Windows Mac & Linux
Problem rn n
Solution git config --global core.autocrlf true git config --global core.autocrlf input
GIT PRACTICES
© 2013 KMS Technology 29
 Prefer --no-ff option on merging
© 2013 KMS Technology 30
Thank You
Ad

More Related Content

What's hot (20)

From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020From Monolith to K8s - Spring One 2020
From Monolith to K8s - Spring One 2020
Mauricio (Salaboy) Salatino
 
Github mike mottola_good15
Github mike mottola_good15Github mike mottola_good15
Github mike mottola_good15
GO Open Data (GOOD)
 
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
Noa Harel
 
Team Collaboration with GitHub
Team Collaboration with GitHubTeam Collaboration with GitHub
Team Collaboration with GitHub
Kevin Pruett
 
WKP 2.4 Delivers GitOps Anywhere
WKP 2.4 Delivers GitOps AnywhereWKP 2.4 Delivers GitOps Anywhere
WKP 2.4 Delivers GitOps Anywhere
Weaveworks
 
Gerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepGerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-step
Luca Milanesio
 
Oleksandr Loktionov - Agile in a nutshell
Oleksandr Loktionov - Agile in a nutshellOleksandr Loktionov - Agile in a nutshell
Oleksandr Loktionov - Agile in a nutshell
Braindev Kyiv
 
QCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - WorkshopQCon Plus From monoliths to k8s - Workshop
QCon Plus From monoliths to k8s - Workshop
Mauricio (Salaboy) Salatino
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOpsMeetup 23 - 03 - Application Delivery on K8S with GitOps
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Vietnam Open Infrastructure User Group
 
Container world 2019 Canary Release
Container world 2019 Canary ReleaseContainer world 2019 Canary Release
Container world 2019 Canary Release
Billy Yuen
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
Luca Milanesio
 
Orchestrating Microservices
Orchestrating MicroservicesOrchestrating Microservices
Orchestrating Microservices
Mauricio (Salaboy) Salatino
 
Modernising Android Architecture Using MVVM and Android Architecture Components
Modernising Android Architecture Using MVVM and Android Architecture ComponentsModernising Android Architecture Using MVVM and Android Architecture Components
Modernising Android Architecture Using MVVM and Android Architecture Components
Quintin Balsdon
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI DemonstrationGerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
Gaurav Wable
 
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri LankaLook into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
chaturanga ranatunga
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-site
Luca Milanesio
 
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
msohn
 
Git Watch
Git WatchGit Watch
Git Watch
William Narmontas
 
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
Noa Harel
 
Team Collaboration with GitHub
Team Collaboration with GitHubTeam Collaboration with GitHub
Team Collaboration with GitHub
Kevin Pruett
 
WKP 2.4 Delivers GitOps Anywhere
WKP 2.4 Delivers GitOps AnywhereWKP 2.4 Delivers GitOps Anywhere
WKP 2.4 Delivers GitOps Anywhere
Weaveworks
 
Gerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-stepGerrit Code Review migrations step-by-step
Gerrit Code Review migrations step-by-step
Luca Milanesio
 
Oleksandr Loktionov - Agile in a nutshell
Oleksandr Loktionov - Agile in a nutshellOleksandr Loktionov - Agile in a nutshell
Oleksandr Loktionov - Agile in a nutshell
Braindev Kyiv
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
Container world 2019 Canary Release
Container world 2019 Canary ReleaseContainer world 2019 Canary Release
Container world 2019 Canary Release
Billy Yuen
 
Gerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source codeGerrit Analytics applied to Android source code
Gerrit Analytics applied to Android source code
Luca Milanesio
 
Modernising Android Architecture Using MVVM and Android Architecture Components
Modernising Android Architecture Using MVVM and Android Architecture ComponentsModernising Android Architecture Using MVVM and Android Architecture Components
Modernising Android Architecture Using MVVM and Android Architecture Components
Quintin Balsdon
 
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI DemonstrationGerrit & Jenkins Workflow: An Integrated CI Demonstration
Gerrit & Jenkins Workflow: An Integrated CI Demonstration
vanoorts
 
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri LankaLook into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
Look into Sitecore 8.2 - September Meetup 2016 - Sitecore User Group Sri Lanka
chaturanga ranatunga
 
Gerrit Code Review multi-site
Gerrit Code Review multi-siteGerrit Code Review multi-site
Gerrit Code Review multi-site
Luca Milanesio
 
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
EGit and Friends - Ready for Prime Time ? Eclipse DemoCamp Darmstadt 2011-06-21
msohn
 

Viewers also liked (19)

Using Story in UX
Using Story in UXUsing Story in UX
Using Story in UX
jonshearer
 
Eric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration PresoEric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration Preso
Eric White
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPress
iparr
 
The State of Front End Web Development 2011
The State of Front End Web Development 2011The State of Front End Web Development 2011
The State of Front End Web Development 2011
Pascal Rettig
 
Ntt Data Advisory & Interactive 20120529
Ntt Data Advisory & Interactive 20120529Ntt Data Advisory & Interactive 20120529
Ntt Data Advisory & Interactive 20120529
Dana Helland
 
Retail Displays - Front End Merchandising Trend 2011
Retail Displays - Front End Merchandising Trend 2011Retail Displays - Front End Merchandising Trend 2011
Retail Displays - Front End Merchandising Trend 2011
richltd
 
UXify 2015 - Front-end Developers' Checklist for Better UX
UXify 2015 - Front-end Developers' Checklist for Better UXUXify 2015 - Front-end Developers' Checklist for Better UX
UXify 2015 - Front-end Developers' Checklist for Better UX
Stoian Dipchikov
 
Front-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and PolymerFront-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and Polymer
uEngine Solutions
 
KMS Introduction
KMS IntroductionKMS Introduction
KMS Introduction
KMS Technology
 
Front End Development in Magento
Front End Development in MagentoFront End Development in Magento
Front End Development in Magento
Eric Landmann
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
uEngine Solutions
 
Front End Development - Beyond Javascript (Robin Cannon)
Front End Development - Beyond Javascript (Robin Cannon)Front End Development - Beyond Javascript (Robin Cannon)
Front End Development - Beyond Javascript (Robin Cannon)
Future Insights
 
Introduction to Front End Engineering
Introduction to Front End EngineeringIntroduction to Front End Engineering
Introduction to Front End Engineering
Mark Meeker
 
Technology Trends in 2013-2014
Technology Trends in 2013-2014Technology Trends in 2013-2014
Technology Trends in 2013-2014
KMS Technology
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
Diego Eis
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
 
Designing for mobile. A UX perspective for developers
Designing for mobile. A UX perspective for developersDesigning for mobile. A UX perspective for developers
Designing for mobile. A UX perspective for developers
Oscar Gonzalez Garza
 
ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)ブロックチェーンの仕組みと動向(入門編)
ブロックチェーンの仕組みと動向(入門編)
NTT DATA OSS Professional Services
 
Code with Empathy: UX for Engineers and UX Developers
Code with Empathy: UX for Engineers and UX DevelopersCode with Empathy: UX for Engineers and UX Developers
Code with Empathy: UX for Engineers and UX Developers
Anita Cheng
 
Using Story in UX
Using Story in UXUsing Story in UX
Using Story in UX
jonshearer
 
Eric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration PresoEric Cleaver White Design / KMS Celebration Preso
Eric Cleaver White Design / KMS Celebration Preso
Eric White
 
Some simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPressSome simple tips for front-end performance in WordPress
Some simple tips for front-end performance in WordPress
iparr
 
The State of Front End Web Development 2011
The State of Front End Web Development 2011The State of Front End Web Development 2011
The State of Front End Web Development 2011
Pascal Rettig
 
Ntt Data Advisory & Interactive 20120529
Ntt Data Advisory & Interactive 20120529Ntt Data Advisory & Interactive 20120529
Ntt Data Advisory & Interactive 20120529
Dana Helland
 
Retail Displays - Front End Merchandising Trend 2011
Retail Displays - Front End Merchandising Trend 2011Retail Displays - Front End Merchandising Trend 2011
Retail Displays - Front End Merchandising Trend 2011
richltd
 
UXify 2015 - Front-end Developers' Checklist for Better UX
UXify 2015 - Front-end Developers' Checklist for Better UXUXify 2015 - Front-end Developers' Checklist for Better UX
UXify 2015 - Front-end Developers' Checklist for Better UX
Stoian Dipchikov
 
Front-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and PolymerFront-end architecture for cloud applications and Polymer
Front-end architecture for cloud applications and Polymer
uEngine Solutions
 
Front End Development in Magento
Front End Development in MagentoFront End Development in Magento
Front End Development in Magento
Eric Landmann
 
성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택성공적인 서비스로의 플랫폼 선택
성공적인 서비스로의 플랫폼 선택
uEngine Solutions
 
Front End Development - Beyond Javascript (Robin Cannon)
Front End Development - Beyond Javascript (Robin Cannon)Front End Development - Beyond Javascript (Robin Cannon)
Front End Development - Beyond Javascript (Robin Cannon)
Future Insights
 
Introduction to Front End Engineering
Introduction to Front End EngineeringIntroduction to Front End Engineering
Introduction to Front End Engineering
Mark Meeker
 
Technology Trends in 2013-2014
Technology Trends in 2013-2014Technology Trends in 2013-2014
Technology Trends in 2013-2014
KMS Technology
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
Diego Eis
 
Front End Best Practices
Front End Best PracticesFront End Best Practices
Front End Best Practices
Holger Bartel
 
Designing for mobile. A UX perspective for developers
Designing for mobile. A UX perspective for developersDesigning for mobile. A UX perspective for developers
Designing for mobile. A UX perspective for developers
Oscar Gonzalez Garza
 
Code with Empathy: UX for Engineers and UX Developers
Code with Empathy: UX for Engineers and UX DevelopersCode with Empathy: UX for Engineers and UX Developers
Code with Empathy: UX for Engineers and UX Developers
Anita Cheng
 
Ad

Similar to [HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and Productivity (20)

JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -EssentialsJAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
jazoon13
 
Digdag Updates 2020 July
Digdag Updates 2020 JulyDigdag Updates 2020 July
Digdag Updates 2020 July
You Yamagata
 
Github By Nyros Developer
Github By Nyros DeveloperGithub By Nyros Developer
Github By Nyros Developer
Nyros Technologies
 
Gitops Hands On
Gitops Hands OnGitops Hands On
Gitops Hands On
Brice Fernandes
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
Frontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLabFrontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLab
Roger Meier
 
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
InfluxData
 
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
msohn
 
IntroductionGit
IntroductionGitIntroductionGit
IntroductionGit
Jaime L. López Carratalá
 
Twelve Tasks Made Easier with IBM Domino XPages
Twelve Tasks Made Easier with IBM Domino XPagesTwelve Tasks Made Easier with IBM Domino XPages
Twelve Tasks Made Easier with IBM Domino XPages
Teamstudio
 
TIMES cloud Service TIMES/MIRO App
TIMES cloud Service  TIMES/MIRO AppTIMES cloud Service  TIMES/MIRO App
TIMES cloud Service TIMES/MIRO App
IEA-ETSAP
 
Git
GitGit
Git
Majid Hajiloo
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018
Ashley Roach
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*
Haggai Philip Zagury
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Kiko Monteverde
 
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Cloud Hosting
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
Nuno Caneco
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
KMS Technology
 
Git dvcs and Information Security Review
Git dvcs and Information Security ReviewGit dvcs and Information Security Review
Git dvcs and Information Security Review
dchaffiol
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
Medhat Dawoud
 
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -EssentialsJAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
JAZOON'13 - Thomas Hug & Bartosz Majsak - Git Workshop -Essentials
jazoon13
 
Digdag Updates 2020 July
Digdag Updates 2020 JulyDigdag Updates 2020 July
Digdag Updates 2020 July
You Yamagata
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
Frontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLabFrontend DevOps Cycle using GitLab
Frontend DevOps Cycle using GitLab
Roger Meier
 
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
InfluxData
 
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
Development with Git and Gerrit - Eclipse DemoCamp Stuttgart - 2010-11-23
msohn
 
Twelve Tasks Made Easier with IBM Domino XPages
Twelve Tasks Made Easier with IBM Domino XPagesTwelve Tasks Made Easier with IBM Domino XPages
Twelve Tasks Made Easier with IBM Domino XPages
Teamstudio
 
TIMES cloud Service TIMES/MIRO App
TIMES cloud Service  TIMES/MIRO AppTIMES cloud Service  TIMES/MIRO App
TIMES cloud Service TIMES/MIRO App
IEA-ETSAP
 
Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018Intro to Git Devnet-1080 Cisco Live 2018
Intro to Git Devnet-1080 Cisco Live 2018
Ashley Roach
 
Git ops & Continuous Infrastructure with terra*
Git ops  & Continuous Infrastructure with terra*Git ops  & Continuous Infrastructure with terra*
Git ops & Continuous Infrastructure with terra*
Haggai Philip Zagury
 
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Plastic SCM: Entreprise Version Control Platform for Modern Applications and ...
Kiko Monteverde
 
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Webinar: Complex Infrastructure Made Easy - Learn How You Can Leverage...
GoGrid Cloud Hosting
 
Git from the trenches
Git from the trenchesGit from the trenches
Git from the trenches
Nuno Caneco
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
KMS Technology
 
Git dvcs and Information Security Review
Git dvcs and Information Security ReviewGit dvcs and Information Security Review
Git dvcs and Information Security Review
dchaffiol
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
Medhat Dawoud
 
Ad

Recently uploaded (20)

The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
Agentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community MeetupAgentic Automation - Delhi UiPath Community Meetup
Agentic Automation - Delhi UiPath Community Meetup
Manoj Batra (1600 + Connections)
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdfAutomate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Precisely
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
The Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI IntegrationThe Future of Cisco Cloud Security: Innovations and AI Integration
The Future of Cisco Cloud Security: Innovations and AI Integration
Re-solution Data Ltd
 
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...Canadian book publishing: Insights from the latest salary survey - Tech Forum...
Canadian book publishing: Insights from the latest salary survey - Tech Forum...
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
GyrusAI - Broadcasting & Streaming Applications Driven by AI and ML
Gyrus AI
 
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptxDevOpsDays SLC - Platform Engineers are Product Managers.pptx
DevOpsDays SLC - Platform Engineers are Product Managers.pptx
Justin Reock
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
Cybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and MitigationCybersecurity Threat Vectors and Mitigation
Cybersecurity Threat Vectors and Mitigation
VICTOR MAESTRE RAMIREZ
 
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Enterprise Integration Is Dead! Long Live AI-Driven Integration with Apache C...
Markus Eisele
 
How to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabberHow to Install & Activate ListGrabber - eGrabber
How to Install & Activate ListGrabber - eGrabber
eGrabber
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
AI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of DocumentsAI Agents at Work: UiPath, Maestro & the Future of Documents
AI Agents at Work: UiPath, Maestro & the Future of Documents
UiPathCommunity
 
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Everything You Need to Know About Agentforce? (Put AI Agents to Work)
Cyntexa
 
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdfAutomate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Automate Studio Training: Building Scripts for SAP Fiori and GUI for HTML.pdf
Precisely
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 

[HCM-August 13] Tech Talk on Git: Use Git to Boost Your Dev Team's Speed and Productivity

  • 1. © 2013 KMS Technology
  • 2. BOOST YOUR DEV TEAM’S SPEED AND PRODUCTIVITY Duy Lam .::. Aug 2013 © 2013 KMS Technology 2
  • 3. AGENDA © 2013 KMS Technology 3 Git Introduction Branch in Git Remote Git Git Practices
  • 4. ABOUT ME Software Architect at KMS Technology Vietnam [email protected] http://vn.linkedin.com/in/duylamphuong © 2013 KMS Technology 4 Lâm Phương Duy
  • 5. WHAT YOU TAKE IN THE END Git Use Git Use Git Effectively Git for advanced needs Git or else? © 2013 KMS Technology 5
  • 6. AGENDA © 2013 KMS Technology 6 Git Introduction Branch in Git Remote Git Git Practices
  • 7. VERSION CONTROL SYSTEM TYPES © 2013 KMS Technology 7 Centralized Version Control System Distributed Version Control System
  • 8. THREE GIT TRAITS #1 COMMITS ARE SNAPSHOT © 2013 KMS Technology 8
  • 9. THREE GIT TRAITS #2 WORK WITHOUT NETWORK © 2013 KMS Technology 9
  • 10. THREE GIT TRAITS #3 TWO STATES © 2013 KMS Technology 10 Working Directory Git Repository git add git rm etc. git commit Git Index / Staging Area
  • 11. BASIC WORKS (DEMO)  Create new git repository  Work on git staging area  Update git repository  Check status  Undo © 2013 KMS Technology 11
  • 12. AGENDA © 2013 KMS Technology 12 Git Introduction Branch in Git Remote Git Git Practices
  • 13. BRANCH AND HOW IT WORKS © 2013 KMS Technology 13 1 2 3 4
  • 14. MERGING BRANCH FAST FORWARD © 2013 KMS Technology 14 git merge hotfix
  • 15. MERGING BRANCH NON FAST FORWARD © 2013 KMS Technology 15 git merge iss53
  • 16. AGENDA © 2013 KMS Technology 16 Git Introduction Branch in Git Remote Git Git Practices
  • 17. REMOTE URLS © 2013 KMS Technology 17 Local /data/git/project.git SSH* user@server:project.git Git git://server/project.git HTTP http://server/project.git (*) Setup authentication: https://help.github.com/articles/generating-ssh-keys
  • 18. REMOTE BRANCH © 2013 KMS Technology 18 Time
  • 19. REMOTE TRACKING BRANCH  a local branch associated with remote branch © 2013 KMS Technology 19 > git branch --track [branch] [remote name]/[branch]
  • 20. UPDATE WITH REMOTE REPOSITORY GET CHANGES #1 © 2013 KMS Technology 20 Time git fetch origin
  • 21. UPDATE WITH REMOTE REPOSITORY GET CHANGES #2 © 2013 KMS Technology 21 Time git pull origin master origin/master
  • 22. UPDATE WITH REMOTE REPOSITORY SAVE CHANGES © 2013 KMS Technology 22 masterorigin/master git.ourcompany.com Time master masterorigin/master git push origin
  • 23. BASIC WORKS (DEMO)  Create remote git repository  Get new commits from remote repository  Save new commits to remote repository © 2013 KMS Technology 23
  • 24. AGENDA © 2013 KMS Technology 24 Git Introduction Branch in Git Remote Git Git Practices
  • 25. HIGHLIGHT OF GIT FEATURES (DEMO)  git tag  git stash  git submodule © 2013 KMS Technology 25
  • 26. GIT CLIENTS  http://git-scm.com: Git CLI (command line interface)  UI clients – TortoiseGit – SmartGit – SourceTree Free – Git Extensions © 2013 KMS Technology 26
  • 27. GIT OR SVN ? Speed of operation Faster Data loss Less Independent and isolated environment Yes Access control Yes Locking mechanisms Yes Storage space 1/30 size © 2013 KMS Technology 27
  • 28. GIT PRACTICES  Line-ending issue on platforms  Do not miss any file when committing in conflicted merge © 2013 KMS Technology 28 Windows Mac & Linux Problem rn n Solution git config --global core.autocrlf true git config --global core.autocrlf input
  • 29. GIT PRACTICES © 2013 KMS Technology 29  Prefer --no-ff option on merging
  • 30. © 2013 KMS Technology 30 Thank You

Editor's Notes

  • #9: A commit contains:changes at the time it’s createda pointer to parent commit containing unchanged thingscommit ID is a hex string for hashed content
  • #11: Staging Area ~ temporary storage managed by Git
  • #12: Go through following commands:gitinitgit add, rm, mvgit commitgit commit –amendgit log, status, diffgit reset, checkout (undo + go to commit)
  • #14: Branch ~ pointer to a commitHEAD ~ alias for latest commit in branch
  • #19: remote branch is controlled by git fetch + git pushgit clone by default creates a master remote branch
  • #24: Update configuration to allow pushing: $ gitconfigreceive.denyCurrentBranch ignoregit clonegit fetch (+ pull)git push
  • #28: speed of operation: commit, viewing history, reverting changes, etc.data loss: SVN can have corrupted revision databaseindependent and isolated: Git allows user to work without network connection and keep their work privatelylock mechanims: plays an important role when it comes to non-mergable binary files such as graphic assetsaccess control: define read/write permission on particular folder, allow to work on particular folder instead of getting entire tree
  • #29: Line-ending issueWindows: convert CRLF to LF when commit, and convert LF to CRLF when checkout to file systemLinux: convert CRLF to LF when commit onlyDo not miss: if you miss any file, it means changes in that files from the branch you’re merging will be discarded