SlideShare a Scribd company logo
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/

More Related Content

What's hot

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
Christopher Cundill
 
JHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan BlochJHipster presentation by Gaetan Bloch
JHipster presentation by Gaetan Bloch
Gaëtan Bloch
 
Git introduction
Git introductionGit introduction
Git introduction
Ivan Adhi Prasetya
 
GitHub Talk - Cody Carnachan
GitHub Talk - Cody CarnachanGitHub Talk - Cody Carnachan
GitHub Talk - Cody Carnachan
Cody Carnachan
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
Atlassian
 
和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow和艦長一起玩轉 GitLab & GitLab Workflow
和艦長一起玩轉 GitLab & GitLab Workflow
Chen Cheng-Wei
 
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
DevOps.com
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
Gaurav Wable
 
Project52
Project52Project52
Project52
Evan Lin
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
icaraion
 
GitHub Actions with Node.js
GitHub Actions with Node.jsGitHub Actions with Node.js
GitHub Actions with Node.js
Stefan Stölzle
 
Git censored.key
Git censored.keyGit censored.key
Git censored.key
mkramer2
 
Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)Effective Application State Management (@DevCamp2017)
Effective Application State Management (@DevCamp2017)
Oliver Häger
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
Kwong Wang Ho
 
jhipster-geekle-gbloch
jhipster-geekle-gblochjhipster-geekle-gbloch
jhipster-geekle-gbloch
Gaëtan Bloch
 
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
Gurtej Pal Singh
 
DevOps Unicorns
DevOps UnicornsDevOps Unicorns
DevOps Unicorns
Matt O'Keefe
 
Fine Tuning Your GitHub Flow
Fine Tuning Your GitHub FlowFine Tuning Your GitHub Flow
Fine Tuning Your GitHub Flow
Stefan Stölzle
 
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
 

What's hot (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
 

Similar to Using github development process in your company

Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through git
Mohd Farid
 
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
Mikhail Melnik
 
Git workshop
Git workshopGit workshop
Git workshop
Reslan Al Tinawi
 
Git Merge, Resets and Branches
Git Merge, Resets and BranchesGit Merge, Resets and Branches
Git Merge, Resets and Branches
Victor Pudelski
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
Salvatore Cordiano
 
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
Scott Graham
 
Introduction to Git for Artists
Introduction to Git for ArtistsIntroduction to Git for Artists
Introduction to Git for Artists
David Newbury
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
DSCVSSUT
 
Git_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdfGit_Git_Lab_1664715263.pdf
Git_Git_Lab_1664715263.pdf
AshokChakravarthy27
 
git Technologies
git Technologiesgit Technologies
git Technologies
Hirantha Pradeep
 
Switching to Git
Switching to GitSwitching to Git
Switching to Git
Stephen Yeargin
 
Git Pull Requests
Git Pull RequestsGit Pull Requests
Git Pull Requests
Callon Campbell
 
Git & Github
Git & GithubGit & Github
Git & Github
Aman Lalpuria
 
Git and Github workshop
Git and Github workshopGit and Github workshop
Git and Github workshop
Otto Kekäläinen
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
Edureka!
 
Git github
Git githubGit github
Git github
Anurag Deb
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
mobaires
 
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 GitRobert Lee-Cann
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
Sebin Benjamin
 

Similar to 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
 

More from Icalia Labs

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

More from 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
 

Recently uploaded

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
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
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
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
 
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
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
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
 
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
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
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
 
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
 
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
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 

Recently uploaded (20)

Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
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...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
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!
 
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...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
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
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
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
 
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
 
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
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 

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/