SlideShare a Scribd company logo
1 of 14
Intro To GitHub
Coding as an Art
 Write beautiful code.
 Share it with community to get bragging rights.
 Github is for programmers as Art galleries is for Artists
I don’t know why I put this image here
but seemed right.
Open Source Community
 Free vs Open source.
 Enterprise move toward open source
 Google has been leading the herd in releasing open source projects [android,
TensorFlow, golang]
 Microsoft under satya’s lead is also adopting open source practices [VS code]
 IBM development of Hyperledger
 Open source software's that we adore [VLC, Linux, most blockchains, Angular,
android studio]
[Question: what does winrar comes under? ]
Why opensource?
 Opensource codes are democratic (of the community, by the community, for
the community)
 Features are decided and discussed by community
 Bugs are discovered by community
 Bugs are fixed by the community
 Its basically you created a product for which user will define features and
they will also work on creating those feature and they will love the product
because its awesome.
But session was about Github..
 Github played an essential part in making opensource so popular
 Lets see how open source projects are written in github and how we can
benefit from adopting what they have adopted
 Let go over this practices one by one
[Caution 1: Boring stuff starts from next slide]
README Please…
 First thing I want to go over is Readme file
 Essence of a Readme file is to tell people what your code is about. Without it
no-one will know what you have created.
 Sections of Ideal README.md file
 Name and Description
 Badges (they look cool I will show you)
 Visuals (I never do this)
 Installation
 If you won’t tell they won’t know
 Usage
 Only god and programmer knows how a program works
 Support
 HELP ME! HELP ME!
Continue README Sensei
 Sections of Ideal README.md file
 Roadmap
 You might know it now but lets leave for future
 Contributing
 This section is a must for all open Source projects
 It entails details regarding how people can contribute to the project
 Authors and acknowledgment
 I MADE IT ( B-D )
 They also helped
 License
 Pay me please
[Note: Oh I stole it all from this site(https://www.makeareadme.com/)
Badges (Medal of Honor)
 Badges are the pretty colourful stuff you see beneath
the name of repository
 Lets go over some easy ones
 Npm version
 Node version
 Code style
 License
 Useful hard ones
 Build
 Coverage
Let us C some README.md
 First the site (https://www.makeareadme.com/)
 TensorFlow (https://github.com/tensorflow/tensorflow)
 Geth (https://github.com/ethereum/go-ethereum)
What else? (for JS developers)
 Git pull in morning and git push in evening (Oops night)
 Don’t Upload node_modules folder write and commit .gitIgnore
 You can copy your required .gitIgnore file from
https://github.com/github/gitignore
 package.json should have all dependencies of project if any additional steps
are required please mention in installation section of README.md file
 OS version and details regarding dependencies should also be included in
README.md
 Known vulnerabilities after npm install can be fixed by running npm fix
When will this end?? [Branches]
 Every Industry follow different branching standards
 3 branches is all it takes
 Dev : Branch where all development for current sprint is done
 Develop : Once a sprint is done code is merged to develop branch
 Master : Once the sprint code is fully tested against all test scenarios it is merged to
master
 Every version has a branch
 Ethererum do this
 Every bug or feature has a branch
 Once the bug is fixed or feature is developed that branched is merged to master
Boilerplate
 Lazy developers like me don’t like doing any of the above stuff so I just steal
:p
 Boilerplates are the basic structure with code and README.md for common
usecase programs.
 JS webserver (https://github.com/danielfsousa/express-rest-es2017-boilerplate)
 Python webserver (https://github.com/realpython/flask-boilerplate)
 Most common projects have boilerplate created for them which can be used
for quick development
Finally the END [Commits]
 Just read this (https://github.com/trein/dev-best-practices/wiki/Git-
Commit-Best-Practices)
 We should commit often
 Commit working copies
 Write meaning full commit messages
Thank You (Have a great Week Day)
 Install Git (https://www.atlassian.com/git/tutorials/install-git)
 Git cheatsheet (https://www.atlassian.com/git/tutorials/atlassian-git-
cheatsheet)
 My git Repo (https://github.com/Parag08)

More Related Content

What's hot

Typescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionTypescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionRonnie Hegelund
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model abodeltae
 
Devops is (not ) a buzzword
Devops is (not ) a buzzwordDevops is (not ) a buzzword
Devops is (not ) a buzzwordMiguel Fonseca
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching modelPavlo Hodysh
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based developmentgo_oh
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitAdieu
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDNEdmund Turbin
 
Introduction to go
Introduction to goIntroduction to go
Introduction to goAnthony Chow
 
Test-Driven Development with TypeScript+Jasmine+AngularJS
Test-Driven Development with TypeScript+Jasmine+AngularJSTest-Driven Development with TypeScript+Jasmine+AngularJS
Test-Driven Development with TypeScript+Jasmine+AngularJSSmartOrg
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bambooAlexander Masalov
 
Deployment made easy with Git
Deployment made easy with GitDeployment made easy with Git
Deployment made easy with GitIgor Santos
 
Microsoft P.P. vs. Prezi!
Microsoft P.P. vs. Prezi!Microsoft P.P. vs. Prezi!
Microsoft P.P. vs. Prezi!MrNoodles
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for BeginnersNebulaworks
 
Python debuggers slides
Python debuggers slidesPython debuggers slides
Python debuggers slidesmattboehm
 

What's hot (20)

Develop 4 Developers
Develop 4 DevelopersDevelop 4 Developers
Develop 4 Developers
 
The way Devs do Ops
The way Devs do OpsThe way Devs do Ops
The way Devs do Ops
 
Typescript kata The TDD style 2 edition
Typescript kata The TDD style 2 editionTypescript kata The TDD style 2 edition
Typescript kata The TDD style 2 edition
 
A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Devops is (not ) a buzzword
Devops is (not ) a buzzwordDevops is (not ) a buzzword
Devops is (not ) a buzzword
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
Trunk based development
Trunk based developmentTrunk based development
Trunk based development
 
LVPHP.org
LVPHP.orgLVPHP.org
LVPHP.org
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and git
 
Production Ready WordPress #WPLDN
Production Ready WordPress #WPLDNProduction Ready WordPress #WPLDN
Production Ready WordPress #WPLDN
 
Git flow workflow example
Git flow workflow exampleGit flow workflow example
Git flow workflow example
 
Introduction to go
Introduction to goIntroduction to go
Introduction to go
 
Test-Driven Development with TypeScript+Jasmine+AngularJS
Test-Driven Development with TypeScript+Jasmine+AngularJSTest-Driven Development with TypeScript+Jasmine+AngularJS
Test-Driven Development with TypeScript+Jasmine+AngularJS
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bamboo
 
Deployment made easy with Git
Deployment made easy with GitDeployment made easy with Git
Deployment made easy with Git
 
Microsoft P.P. vs. Prezi!
Microsoft P.P. vs. Prezi!Microsoft P.P. vs. Prezi!
Microsoft P.P. vs. Prezi!
 
Trunk based development for Beginners
Trunk based development for BeginnersTrunk based development for Beginners
Trunk based development for Beginners
 
JENKINS
JENKINSJENKINS
JENKINS
 
Python debuggers slides
Python debuggers slidesPython debuggers slides
Python debuggers slides
 
OpenNTF Essentials
OpenNTF EssentialsOpenNTF Essentials
OpenNTF Essentials
 

Similar to Intro to Github

An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentS. M. Hossein Hamidi
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
Autotools, Design Patterns and more
Autotools, Design Patterns and moreAutotools, Design Patterns and more
Autotools, Design Patterns and moreVicente Bolea
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxPVS-Studio
 
Top Secret: Large-Scale SPA
Top Secret: Large-Scale SPATop Secret: Large-Scale SPA
Top Secret: Large-Scale SPAAnderson Braz
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOSFred Lin
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1benDesigning
 
Makefile
MakefileMakefile
MakefileIonela
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityNational Cheng Kung University
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitcbenDesigning
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3Boris Mann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Building The Open Ntf Dev Playground
Building The Open Ntf Dev PlaygroundBuilding The Open Ntf Dev Playground
Building The Open Ntf Dev PlaygroundFactor-y S.r.l.
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betadigitalzombie
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsAmazon Web Services
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSalim M Bhonhariya
 

Similar to Intro to Github (20)

An Introduction To Linux Development Environment
An Introduction To Linux Development EnvironmentAn Introduction To Linux Development Environment
An Introduction To Linux Development Environment
 
Game Studio
Game StudioGame Studio
Game Studio
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
Autotools, Design Patterns and more
Autotools, Design Patterns and moreAutotools, Design Patterns and more
Autotools, Design Patterns and more
 
The Development History of PVS-Studio for Linux
The Development History of PVS-Studio for LinuxThe Development History of PVS-Studio for Linux
The Development History of PVS-Studio for Linux
 
Android studio
Android studioAndroid studio
Android studio
 
Top Secret: Large-Scale SPA
Top Secret: Large-Scale SPATop Secret: Large-Scale SPA
Top Secret: Large-Scale SPA
 
Developing FirefoxOS
Developing FirefoxOSDeveloping FirefoxOS
Developing FirefoxOS
 
The windows socket
The windows socketThe windows socket
The windows socket
 
Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1Hacking the Kinect with GAFFTA Day 1
Hacking the Kinect with GAFFTA Day 1
 
Makefile
MakefileMakefile
Makefile
 
Build Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the QualityBuild Community Android Distribution and Ensure the Quality
Build Community Android Distribution and Ensure the Quality
 
Open frameworks 101_fitc
Open frameworks 101_fitcOpen frameworks 101_fitc
Open frameworks 101_fitc
 
3stages Wdn08 V3
3stages Wdn08 V33stages Wdn08 V3
3stages Wdn08 V3
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Building The Open Ntf Dev Playground
Building The Open Ntf Dev PlaygroundBuilding The Open Ntf Dev Playground
Building The Open Ntf Dev Playground
 
Introducing Yeoman 1.0 beta
Introducing Yeoman 1.0 betaIntroducing Yeoman 1.0 beta
Introducing Yeoman 1.0 beta
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Building Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer ToolsBuilding Open Source Communities for AWS Serverless Developer Tools
Building Open Source Communities for AWS Serverless Developer Tools
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Association for Project Management
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxVishalSingh1417
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxVishalSingh1417
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docxPoojaSen20
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxVishalSingh1417
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 

Recently uploaded (20)

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 

Intro to Github

  • 2. Coding as an Art  Write beautiful code.  Share it with community to get bragging rights.  Github is for programmers as Art galleries is for Artists I don’t know why I put this image here but seemed right.
  • 3. Open Source Community  Free vs Open source.  Enterprise move toward open source  Google has been leading the herd in releasing open source projects [android, TensorFlow, golang]  Microsoft under satya’s lead is also adopting open source practices [VS code]  IBM development of Hyperledger  Open source software's that we adore [VLC, Linux, most blockchains, Angular, android studio] [Question: what does winrar comes under? ]
  • 4. Why opensource?  Opensource codes are democratic (of the community, by the community, for the community)  Features are decided and discussed by community  Bugs are discovered by community  Bugs are fixed by the community  Its basically you created a product for which user will define features and they will also work on creating those feature and they will love the product because its awesome.
  • 5. But session was about Github..  Github played an essential part in making opensource so popular  Lets see how open source projects are written in github and how we can benefit from adopting what they have adopted  Let go over this practices one by one [Caution 1: Boring stuff starts from next slide]
  • 6. README Please…  First thing I want to go over is Readme file  Essence of a Readme file is to tell people what your code is about. Without it no-one will know what you have created.  Sections of Ideal README.md file  Name and Description  Badges (they look cool I will show you)  Visuals (I never do this)  Installation  If you won’t tell they won’t know  Usage  Only god and programmer knows how a program works  Support  HELP ME! HELP ME!
  • 7. Continue README Sensei  Sections of Ideal README.md file  Roadmap  You might know it now but lets leave for future  Contributing  This section is a must for all open Source projects  It entails details regarding how people can contribute to the project  Authors and acknowledgment  I MADE IT ( B-D )  They also helped  License  Pay me please [Note: Oh I stole it all from this site(https://www.makeareadme.com/)
  • 8. Badges (Medal of Honor)  Badges are the pretty colourful stuff you see beneath the name of repository  Lets go over some easy ones  Npm version  Node version  Code style  License  Useful hard ones  Build  Coverage
  • 9. Let us C some README.md  First the site (https://www.makeareadme.com/)  TensorFlow (https://github.com/tensorflow/tensorflow)  Geth (https://github.com/ethereum/go-ethereum)
  • 10. What else? (for JS developers)  Git pull in morning and git push in evening (Oops night)  Don’t Upload node_modules folder write and commit .gitIgnore  You can copy your required .gitIgnore file from https://github.com/github/gitignore  package.json should have all dependencies of project if any additional steps are required please mention in installation section of README.md file  OS version and details regarding dependencies should also be included in README.md  Known vulnerabilities after npm install can be fixed by running npm fix
  • 11. When will this end?? [Branches]  Every Industry follow different branching standards  3 branches is all it takes  Dev : Branch where all development for current sprint is done  Develop : Once a sprint is done code is merged to develop branch  Master : Once the sprint code is fully tested against all test scenarios it is merged to master  Every version has a branch  Ethererum do this  Every bug or feature has a branch  Once the bug is fixed or feature is developed that branched is merged to master
  • 12. Boilerplate  Lazy developers like me don’t like doing any of the above stuff so I just steal :p  Boilerplates are the basic structure with code and README.md for common usecase programs.  JS webserver (https://github.com/danielfsousa/express-rest-es2017-boilerplate)  Python webserver (https://github.com/realpython/flask-boilerplate)  Most common projects have boilerplate created for them which can be used for quick development
  • 13. Finally the END [Commits]  Just read this (https://github.com/trein/dev-best-practices/wiki/Git- Commit-Best-Practices)  We should commit often  Commit working copies  Write meaning full commit messages
  • 14. Thank You (Have a great Week Day)  Install Git (https://www.atlassian.com/git/tutorials/install-git)  Git cheatsheet (https://www.atlassian.com/git/tutorials/atlassian-git- cheatsheet)  My git Repo (https://github.com/Parag08)