SlideShare ist ein Scribd-Unternehmen logo
1 von 15
USING GITHUB
DEVELOPMENT PROCESS IN
“(YOUR COMPANY HERE)”
By @adrian2112 & @edolopez from @icalialabs
Background
   Software development is hard.
   Agile methodologies available aren‟t enough.
   Lot of tests, lot of deals around.
   Constant problems with stakeholders, so let‟s make
    this easy.
   Proposal: “How Github uses Github to build Github”
   Pull request
    A   simple discussion about code, feature and strategy.
How to use it?
Making pull requests
1: Updating remote branches and master on local
machine
  (master) % git fetch
  (master) % git pull origin master
  ** There shouldn’t be any conflicts. If so, your master has something bad, i.e. somebody forced a push
  to master.



2: Make a new branch from master, commit changes
and upload to „Github|Bitbucket|*‟
  (master) % git checkout –b new_branch
  (new-branch) % git add .
  (new-branch) % git commit -m "Algunos cambios"
  (new-branch) % git push origin mi-nuevo-branch
  ** Now you or somebody can accept changes via github|bitbucket|*.
Additional: Obsolete branch, i.e. Github can not merge
as fast-forward or color status is different than green.

- Update remote branches on local machine
(new-branch) % git fetch

- Make interactive rebase in order to align local master
with remote master
(new-branch) % git rebase -i origin/master
(new-branch) % git push origin mi-nuevo-branch

** Now pull request should appear green and ready to push directly to master.
Github




_____________________________________________________________________________

                                                                  Bitbucket
Approving pull requests

1: Update remote branches on local machine

      (master) % git fetch




2: Open a local branch with branch interested for test

      (master) % git checkout -b testable origin/testable
3: Run specs and make sure it works
      (testable) % bundle install; foreman start




4: Add notes and discuss on Github. Otherwise, if
everything‟s OK, merge pull request through Github
Issue tracker
   Everything inside a platform
   Centralizing efforts and attention
   Pull requests linked to issues (only on Github).
Pros & Cons

Pros                         Cons

   Time flexibility            Forcing pushes causes
   Distributed work             conflict among people
   Master is always             working same branch
    deployable                  Everyone can
   Encourages to constant       push, everyone can
    revision and work            deploy
   No meetings                 Team need to grasp
   All team involved            the methodology
                                Crucial changes don‟t
                                 always follow this.
Thanks
http://icalialabs.com
@icalialabs

References:
- @rod_wilhelmy
- @holman http://zachholman.com/talk/how-
github-uses-github-to-build-github/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
JHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan BlochJHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan Bloch
 
Git introduction
Git introductionGit introduction
Git introduction
 
GitHub Talk - Cody Carnachan
GitHub Talk - Cody CarnachanGitHub Talk - Cody Carnachan
GitHub Talk - Cody Carnachan
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow
 
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHubIncrease the Velocity of Your Software Releases Using GitHub and DeployHub
Increase the Velocity of Your Software Releases Using GitHub and DeployHub
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Project52
Project52Project52
Project52
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
 
Git censored.key
Git censored.keyGit censored.key
Git censored.key
 
Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 
jhipster-geekle-gbloch
jhipster-geekle-gblochjhipster-geekle-gbloch
jhipster-geekle-gbloch
 
An introduction to chaos engineering as part of DevOps at XP2019
An introduction to chaos engineering as part of DevOps at XP2019An introduction to chaos engineering as part of DevOps at XP2019
An introduction to chaos engineering as part of DevOps at XP2019
 
DevOps Unicorns
DevOps UnicornsDevOps Unicorns
DevOps Unicorns
 
GITHUB
GITHUBGITHUB
GITHUB
 
Fine Tuning Your GitHub Flow
Fine Tuning Your GitHub FlowFine Tuning Your GitHub Flow
Fine Tuning Your GitHub Flow
 
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
 

Ähnlich wie Using github development process in your company

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
 

Ähnlich wie Using github development process in your company (20)

Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through git
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Git workshop
Git workshopGit workshop
Git workshop
 
Git Merge, Resets and Branches
Git Merge, Resets and BranchesGit Merge, Resets and Branches
Git Merge, Resets and Branches
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 
Git_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdfGit_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdf
 
git Technologies
git Technologiesgit Technologies
git Technologies
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
 
Git Pull Requests
Git Pull RequestsGit Pull Requests
Git Pull Requests
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
Git github
Git githubGit github
Git github
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
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, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 

Mehr von Icalia Labs

Presentacion vim
Presentacion vimPresentacion vim
Presentacion vim
Icalia Labs
 
The Art of Pitching
The Art of PitchingThe Art of Pitching
The Art of Pitching
Icalia Labs
 
Rails Best Practices
Rails Best PracticesRails Best Practices
Rails Best Practices
Icalia Labs
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.js
Icalia Labs
 

Mehr von Icalia Labs (16)

Building an Api the Right Way
Building an Api the Right WayBuilding an Api the Right Way
Building an Api the Right Way
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
Building something out of Nothing
Building something out of NothingBuilding something out of Nothing
Building something out of Nothing
 
Furatto tertulia
Furatto tertuliaFuratto tertulia
Furatto tertulia
 
Simple but Useful Design Principles.
Simple but Useful Design Principles.Simple but Useful Design Principles.
Simple but Useful Design Principles.
 
Your time saving front end workflow
Your time saving front end workflowYour time saving front end workflow
Your time saving front end workflow
 
Customer Experience Basics
Customer Experience BasicsCustomer Experience Basics
Customer Experience Basics
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
Time Hacks for Work
Time Hacks for WorkTime Hacks for Work
Time Hacks for Work
 
Culture in a team
Culture in a teamCulture in a team
Culture in a team
 
Curso rails
Curso railsCurso rails
Curso rails
 
Presentacion vim
Presentacion vimPresentacion vim
Presentacion vim
 
The Art of Pitching
The Art of PitchingThe Art of Pitching
The Art of Pitching
 
Rails Best Practices
Rails Best PracticesRails Best Practices
Rails Best Practices
 
Introduccion meteor.js
Introduccion meteor.jsIntroduccion meteor.js
Introduccion meteor.js
 
Rspec and Rails
Rspec and RailsRspec and Rails
Rspec and Rails
 

Kürzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

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
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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, ...
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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 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
 
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...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
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...
 
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
 

Using github development process in your company

  • 1. USING GITHUB DEVELOPMENT PROCESS IN “(YOUR COMPANY HERE)” By @adrian2112 & @edolopez from @icalialabs
  • 2. Background  Software development is hard.  Agile methodologies available aren‟t enough.  Lot of tests, lot of deals around.  Constant problems with stakeholders, so let‟s make this easy.  Proposal: “How Github uses Github to build Github”
  • 3. Pull request A simple discussion about code, feature and strategy.
  • 4.
  • 6. Making pull requests 1: Updating remote branches and master on local machine (master) % git fetch (master) % git pull origin master ** There shouldn’t be any conflicts. If so, your master has something bad, i.e. somebody forced a push to master. 2: Make a new branch from master, commit changes and upload to „Github|Bitbucket|*‟ (master) % git checkout –b new_branch (new-branch) % git add . (new-branch) % git commit -m "Algunos cambios" (new-branch) % git push origin mi-nuevo-branch ** Now you or somebody can accept changes via github|bitbucket|*.
  • 7. Additional: Obsolete branch, i.e. Github can not merge as fast-forward or color status is different than green. - Update remote branches on local machine (new-branch) % git fetch - Make interactive rebase in order to align local master with remote master (new-branch) % git rebase -i origin/master (new-branch) % git push origin mi-nuevo-branch ** Now pull request should appear green and ready to push directly to master.
  • 9. Approving pull requests 1: Update remote branches on local machine (master) % git fetch 2: Open a local branch with branch interested for test (master) % git checkout -b testable origin/testable
  • 10. 3: Run specs and make sure it works (testable) % bundle install; foreman start 4: Add notes and discuss on Github. Otherwise, if everything‟s OK, merge pull request through Github
  • 11.
  • 12. Issue tracker  Everything inside a platform  Centralizing efforts and attention  Pull requests linked to issues (only on Github).
  • 13.
  • 14. Pros & Cons Pros Cons  Time flexibility  Forcing pushes causes  Distributed work conflict among people  Master is always working same branch deployable  Everyone can  Encourages to constant push, everyone can revision and work deploy  No meetings  Team need to grasp  All team involved the methodology  Crucial changes don‟t always follow this.
  • 15. Thanks http://icalialabs.com @icalialabs References: - @rod_wilhelmy - @holman http://zachholman.com/talk/how- github-uses-github-to-build-github/