SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Git in Eclipse



Dariusz Łuksza
Blog: http://luksza.org
Mail: dariusz@luksza.org
Agenda
●   What Git is?
    ●   History
    ●   Git vs. CVS/SVN
    ●   How Git works?
●   Git commands
●   What EGit 0.8.1 can do?
●   Demo Time!
    ●   First: project, commit, branch, tag, fetch, push, merge
    ●   Keep high code quality thanks to Git
                                                              2
History of Git'a
2005 - Linus Torvalds starts Git
2006 - Proof-of-concept, quite unusable
2007 - Index reader, quickdiff
2008 - Add history view, commit, push/fetch
2009 - Eclipse decides on Git; moved to Eclipse.org
3/2010 - Released 0.7.0
           Diff/Merge
           Automatic IP Logs
           Preliminary merge algorithm implementation (not really usable for now on)

6/2010 - Released 0.8.0
           Usability Improvements
           Git Repositories View
           Tagging                 Slide taken from presentation:                                 3
                                   Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S.
                                   Pearce, R. Rosenberg and M. Sohn
Git vs. CVS/SVN
●   Distributed (but …)            ●   Centralized
    ●   Ability to work off-line       ●   no
    ●   Full local history             ●   no
●   Versions are described         ●   Numerically described
    using SHA-1                        versions
●   Fast and lightweight           ●   Every branch is a full copy
    branches                           of repository
●   Checkout on repository         ●   Checkout on file/catalog
    level                              level
●   Complex tag's                  ●   Simple tag's
                                                                  4
How Git works?
Saves state not deltas.




                                                         5
         Images taken from Pro Git book (http://progit.org)
How Git works?
    Objects




                                                     6
     Images taken from Pro Git book (http://progit.org)
How Git works?
Branches and tags




   v1.0




                                                          7
          Image taken from Pro Git book (http://progit.org)
How Git works?
Merge (fast-forward)




       fast-forward
          merge




                                                        8
        Images taken from Pro Git book (http://progit.org)
How Git works?
Merge (three-way merge)



      three-way
        merge




                                                            9
            Images taken from Pro Git book (http://progit.org)
How Git works?
              Rebase


1.




     2.




                 3.


                           10
How Git works?
       Structure of .git
extensions
   global exclude file
record branch changes
 object storage
  local branches
    default main branch
   remote tracking branches, divided by repository
   default remote repository
     default remote branch



configuration for this repository

 tip of current branch
cache for staging changes for next commit
                                                     11
Git commands
●   git init / git clone    ●   git pull
●   git add                 ●   git push
●   git status              ●   git stash
●   git commit              ●   git branch
●   git diff                ●   git tag
●   git fetch               ●   git checkout
●   git log                 ●   git config
●   git merge               ●   git format-patch
●   git rebase              ●   git mv / git rm
                                                   12
●   git remote              ●   git reset
Git commands
●   git init / git clone    ●   git pull
●   git add                 ●   git push
●   git status              ●   git stash
●   git commit              ●   git branch
●   git diff                ●   git tag
●   git fetch               ●   git checkout
●   git log                 ●   git config
●   git merge               ●   git format-patch
●   git rebase              ●   git mv / git rm
                                                   13
●   git remote              ●   git reset
What EGit 0.8.1 can do?
●   git init / git clone   ●   git pull
●   git add                ●   git push
●   git status             ●   git stash
●   git commit             ●   git branch
●   git diff               ●   git tag
●   git fetch              ●   git checkout
●   git log                ●   git config
●   git merge              ●   git format-patch
●   git rebase             ●   git mv / git rm
                                                                  14
●   git remote             ●   git reset         Autorem grafik jest:
                                                 Deleket (Jojo Mendoza)
Demo Time!

             15
First demo




Create and share project locally.




                                    16
Second Demo



     Working with remote project.
We'll use gitosis as a Git server and CGit for on-line
                 project presentation.




                                                         17
Third demo



   Benefiting from distributed VCS.

Using Git and Gerrit for keeping project in good
                    shape.



                                                   18
Q&A
●   Git: http://git-scm.com/
●   EGit: http://eclipse.org/egit/
●   JGit: http://eclipse.org/jgit/
●   EGit mailing list:
    http://dev.eclipse.org/mhonarc/lists/egit-dev/
●   JGit mailing list:
    http://dev.eclipse.org/mhonarc/lists/jgit-dev/
●   There is also an EGit forum on Eclipse forums:
    http://www.eclipse.org/forums/
                                                     19

Mais conteúdo relacionado

Mais procurados

EclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heavenEclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heaven
msohn
 

Mais procurados (20)

Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro WorkshopOpen Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
Open Innovation Lab (OIL) - 20150227 - GIT Intro Workshop
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
 
Git advanced
Git advancedGit advanced
Git advanced
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
How to store large binary files in git repositories
How to store large binary files in git repositoriesHow to store large binary files in git repositories
How to store large binary files in git repositories
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
Git for standalone use
Git for standalone useGit for standalone use
Git for standalone use
 
Presentacion git
Presentacion gitPresentacion git
Presentacion git
 
Github
GithubGithub
Github
 
Social Coding GitHub 2015
Social Coding GitHub 2015Social Coding GitHub 2015
Social Coding GitHub 2015
 
Intro To Git
Intro To GitIntro To Git
Intro To Git
 
EclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heavenEclipseCon 2010 talk: Towards contributors heaven
EclipseCon 2010 talk: Towards contributors heaven
 
SouthEast LinuxFest 2015 - intro to git
SouthEast LinuxFest 2015 -  intro to gitSouthEast LinuxFest 2015 -  intro to git
SouthEast LinuxFest 2015 - intro to git
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26
 
Flow
FlowFlow
Flow
 

Destaque

Team Development on Force.com with Github and Ant
Team Development on Force.com with Github and AntTeam Development on Force.com with Github and Ant
Team Development on Force.com with Github and Ant
Salesforce Developers
 
Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and Github
Joe Fleming
 
3 Git
3 Git3 Git

Destaque (10)

Team Development on Force.com with Github and Ant
Team Development on Force.com with Github and AntTeam Development on Force.com with Github and Ant
Team Development on Force.com with Github and Ant
 
Introduction to Git for Force.com Developers
Introduction to Git for Force.com DevelopersIntroduction to Git for Force.com Developers
Introduction to Git for Force.com Developers
 
Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and Github
 
Automating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous IntegrationAutomating Deployment Between Orgs Using Git & Continuous Integration
Automating Deployment Between Orgs Using Git & Continuous Integration
 
Continuous integration in github
Continuous integration in githubContinuous integration in github
Continuous integration in github
 
Fun with Jenkins & Salesforce
Fun with Jenkins & SalesforceFun with Jenkins & Salesforce
Fun with Jenkins & Salesforce
 
Hybrid Clouds: EC2/Heroku Calculator
Hybrid Clouds: EC2/Heroku CalculatorHybrid Clouds: EC2/Heroku Calculator
Hybrid Clouds: EC2/Heroku Calculator
 
How to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.comHow to Setup Continuous Integration With Git, Jenkins, and Force.com
How to Setup Continuous Integration With Git, Jenkins, and Force.com
 
7 common problems with salesforce data migration
7 common problems with salesforce data migration7 common problems with salesforce data migration
7 common problems with salesforce data migration
 
3 Git
3 Git3 Git
3 Git
 

Semelhante a Git in Eclipse

Git tech talk
Git tech talkGit tech talk
Git tech talk
razasayed
 
News from Git in Java Land
News from Git in Java LandNews from Git in Java Land
News from Git in Java Land
msohn
 
Using git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris AniszczykUsing git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris Aniszczyk
EclipseDayParis
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15
Chen-Han Hsiao
 

Semelhante a Git in Eclipse (20)

Git basics
Git basicsGit basics
Git basics
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 
Git basics
Git basicsGit basics
Git basics
 
git KT .pptx
git KT .pptxgit KT .pptx
git KT .pptx
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Git.odp 0
Git.odp 0Git.odp 0
Git.odp 0
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git tech talk
Git tech talkGit tech talk
Git tech talk
 
News from Git in Java Land
News from Git in Java LandNews from Git in Java Land
News from Git in Java Land
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
The Fundamentals of Git
The Fundamentals of GitThe Fundamentals of Git
The Fundamentals of Git
 
Using Subversion and Git Together
Using Subversion and Git TogetherUsing Subversion and Git Together
Using Subversion and Git Together
 
Git cheat-sheets
Git cheat-sheetsGit cheat-sheets
Git cheat-sheets
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
 
Intro to Git
Intro to GitIntro to Git
Intro to Git
 
Using git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris AniszczykUsing git in eclipse by Chris Aniszczyk
Using git in eclipse by Chris Aniszczyk
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 

Mais de Dariusz Łuksza

Guiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise landGuiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise land
Dariusz Łuksza
 

Mais de Dariusz Łuksza (9)

A story of 715 commits… in ~15 minutes

A story of 715 commits… in ~15 minutes
A story of 715 commits… in ~15 minutes

A story of 715 commits… in ~15 minutes

 
One Man App
One Man AppOne Man App
One Man App
 
Your own full blown Gerrit plugin
Your own full blown Gerrit pluginYour own full blown Gerrit plugin
Your own full blown Gerrit plugin
 
Guiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise landGuiding Diffy to the Enterprise land
Guiding Diffy to the Enterprise land
 
Review your code like a Googler
Review your code like a GooglerReview your code like a Googler
Review your code like a Googler
 
Put more eyes on code
Put more eyes on codePut more eyes on code
Put more eyes on code
 
Gerrit Code Review - The Introduction
Gerrit Code Review - The IntroductionGerrit Code Review - The Introduction
Gerrit Code Review - The Introduction
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript Plugins
 
Eclipse of idleness and focus on current task (rev. 2)
Eclipse of idleness and focus on current task (rev. 2)Eclipse of idleness and focus on current task (rev. 2)
Eclipse of idleness and focus on current task (rev. 2)
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 

Git in Eclipse

  • 1. Git in Eclipse Dariusz Łuksza Blog: http://luksza.org Mail: dariusz@luksza.org
  • 2. Agenda ● What Git is? ● History ● Git vs. CVS/SVN ● How Git works? ● Git commands ● What EGit 0.8.1 can do? ● Demo Time! ● First: project, commit, branch, tag, fetch, push, merge ● Keep high code quality thanks to Git 2
  • 3. History of Git'a 2005 - Linus Torvalds starts Git 2006 - Proof-of-concept, quite unusable 2007 - Index reader, quickdiff 2008 - Add history view, commit, push/fetch 2009 - Eclipse decides on Git; moved to Eclipse.org 3/2010 - Released 0.7.0 Diff/Merge Automatic IP Logs Preliminary merge algorithm implementation (not really usable for now on) 6/2010 - Released 0.8.0 Usability Improvements Git Repositories View Tagging Slide taken from presentation: 3 Understanding and Using Git at Eclipse | © 2010 by C. Aniszczyk, S. Pearce, R. Rosenberg and M. Sohn
  • 4. Git vs. CVS/SVN ● Distributed (but …) ● Centralized ● Ability to work off-line ● no ● Full local history ● no ● Versions are described ● Numerically described using SHA-1 versions ● Fast and lightweight ● Every branch is a full copy branches of repository ● Checkout on repository ● Checkout on file/catalog level level ● Complex tag's ● Simple tag's 4
  • 5. How Git works? Saves state not deltas. 5 Images taken from Pro Git book (http://progit.org)
  • 6. How Git works? Objects 6 Images taken from Pro Git book (http://progit.org)
  • 7. How Git works? Branches and tags v1.0 7 Image taken from Pro Git book (http://progit.org)
  • 8. How Git works? Merge (fast-forward) fast-forward merge 8 Images taken from Pro Git book (http://progit.org)
  • 9. How Git works? Merge (three-way merge) three-way merge 9 Images taken from Pro Git book (http://progit.org)
  • 10. How Git works? Rebase 1. 2. 3. 10
  • 11. How Git works? Structure of .git extensions global exclude file record branch changes object storage local branches default main branch remote tracking branches, divided by repository default remote repository default remote branch configuration for this repository tip of current branch cache for staging changes for next commit 11
  • 12. Git commands ● git init / git clone ● git pull ● git add ● git push ● git status ● git stash ● git commit ● git branch ● git diff ● git tag ● git fetch ● git checkout ● git log ● git config ● git merge ● git format-patch ● git rebase ● git mv / git rm 12 ● git remote ● git reset
  • 13. Git commands ● git init / git clone ● git pull ● git add ● git push ● git status ● git stash ● git commit ● git branch ● git diff ● git tag ● git fetch ● git checkout ● git log ● git config ● git merge ● git format-patch ● git rebase ● git mv / git rm 13 ● git remote ● git reset
  • 14. What EGit 0.8.1 can do? ● git init / git clone ● git pull ● git add ● git push ● git status ● git stash ● git commit ● git branch ● git diff ● git tag ● git fetch ● git checkout ● git log ● git config ● git merge ● git format-patch ● git rebase ● git mv / git rm 14 ● git remote ● git reset Autorem grafik jest: Deleket (Jojo Mendoza)
  • 16. First demo Create and share project locally. 16
  • 17. Second Demo Working with remote project. We'll use gitosis as a Git server and CGit for on-line project presentation. 17
  • 18. Third demo Benefiting from distributed VCS. Using Git and Gerrit for keeping project in good shape. 18
  • 19. Q&A ● Git: http://git-scm.com/ ● EGit: http://eclipse.org/egit/ ● JGit: http://eclipse.org/jgit/ ● EGit mailing list: http://dev.eclipse.org/mhonarc/lists/egit-dev/ ● JGit mailing list: http://dev.eclipse.org/mhonarc/lists/jgit-dev/ ● There is also an EGit forum on Eclipse forums: http://www.eclipse.org/forums/ 19