{"id":28424,"date":"2022-03-09T06:33:24","date_gmt":"2022-03-09T06:33:24","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=28424"},"modified":"2022-12-23T06:48:00","modified_gmt":"2022-12-23T06:48:00","slug":"what-is-github-and-how-it-works-an-overview-and-its-use-cases","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-github-and-how-it-works-an-overview-and-its-use-cases\/","title":{"rendered":"What is Github and How it works? An Overview and Its Use Cases?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/what-is-github-and-how-it-works-an-overview-and-its-use-cases.png\" alt=\"\" class=\"wp-image-28453\" width=\"671\" height=\"352\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">What is GitHub?<\/h2>\n\n\n\n<p>GitHub is a free personal and official, cloud-hosted platform for code. It works with Git on your and your colleagues&#8217; computers, serving as the origin, the source of truth for anyone working on the code. GitHub is a website where you can upload a copy of your Git repository. It allows you to collaborate much more easily with other people on a project. GitHub is a great place to not only expand your programming knowledge, but also showcase your best work. Your GitHub Profile is a great place for recruiters to find you and reach out about potential jobs and projects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>History &amp; Origin of GitHub<\/strong><\/h2>\n\n\n\n<p><strong>Development of the GitHub.com platform began on October 19, 2007<\/strong>. The site was launched in April 2008 by Tom Preston-Werner, Chris Wanstrath, P. J. Hyett and Scott Chacon after it had been made available for a few months prior as a beta release. GitHub has an annual keynote called GitHub Universe.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How works GitHub architecture<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/docs.microsoft.com\/en-us\/azure\/architecture\/solution-ideas\/media\/devsecops-in-github-vulnerability-management-data-flow.png\" alt=\"DevSecOps in GitHub - Azure Solution Ideas | Microsoft Docs\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Use case of&nbsp;GitHub<\/h2>\n\n\n\n<p>There are a number of key concepts that you\u2019ll need to understand to work effectively with Git and GitHub. Here is a list of some of the most common terms with a short description of each and an example of how they might be used in conversation:<\/p>\n\n\n\n<p><strong>Commit<\/strong><\/p>\n\n\n\n<p>Whenever you save your changes to one or more files to history in Git, you create a new commit. Example usage: \u201cLet\u2019s commit these changes and push them up to GitHub.\u201d<\/p>\n\n\n\n<p><strong>Commit message<\/strong><\/p>\n\n\n\n<p>Every time you make a commit, you need to supply a message that describes why the change was made. That commit message is invaluable when trying to understand later why a certain change was implemented. Example usage: \u201cMake sure to include Susan\u2019s comment about the new SEC guidelines in the commit message.\u201d<\/p>\n\n\n\n<p><strong>Branch<\/strong><\/p>\n\n\n\n<p>An independent series of commits off to one side that you can use to try out an experiment or create a new feature. Example usage: \u201cLet\u2019s create a branch to implement the new search functionality.\u201d<\/p>\n\n\n\n<p><strong>Master branch (master)<\/strong><\/p>\n\n\n\n<p>Whenever you create a new Git project, there is a default branch created that is called master. This is the branch that your work should end up on eventually once it\u2019s ready to push to production. Example usage: \u201cRemember never to commit directly to master.\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"529\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/image-19-1024x529.png\" alt=\"\" class=\"wp-image-28443\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/image-19-1024x529.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/image-19-300x155.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/image-19-768x397.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2022\/03\/image-19.png 1354w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Feature and Advantage of using<\/strong> <strong>GitHub<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>GitHub has Gists and GitHub Pages, too<\/li><li>It provides a backup of your files.<\/li><li>It gives you a visual interface for navigating your repos.<\/li><li>It gives other people a way to navigate your repos.<\/li><li>It makes repo collaboration easy (e.g., multiple people contributing to the same project).<\/li><li>It provides a lightweight issue tracking system.<\/li><li>Push your projects to GitHub and let the world know how nice and useful code you write.<\/li><li>Explore other\u2019s projects on GitHub, get inspired code more, or contribute to their project.<\/li><li>Collaborate with others, by letting other people contribute to your projects or you contributing to other\u2019s projects.<\/li><li>Maintain useful lists. I didn\u2019t find anything better then creating lists on GitHub using markdown. I like how clean it looks.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Alternative of GitHub<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>GitLab<\/li><li>Bitbucket<\/li><li>Sourceforge<\/li><li>Google Cloud Source Repositories<\/li><li>Launchpad<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Resources, Tutorials and Guide for GitHub<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Git and GitHub \u2013 The Complete Git and GitHub Course in 2022 (<a href=\"https:\/\/devopsschool.com\/\"><strong>DevOpsSchool<\/strong><\/a>)<\/li><li>Git and GitHub \u2013 The Complete Git and GitHub Course in 2020 (Skillshare)<\/li><li>Basic Git &amp; GitHub for Designers, Visual Learners, and Everyone Else.<\/li><li>A Beginner\u2019s Introduction to Git and GitHub (Skillshare)<\/li><li>GitHub Essential Training (LinkedIn Learning)<\/li><li>Git a Web Developer Job: Mastering the Modern Workflow (Udemy)<\/li><li>GitHub Ultimate: Master Git and GitHub \u2013 Beginner to Expert (Udemy)<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Interview Questions and Answer for&nbsp;GitHub<\/strong><\/h2>\n\n\n\n<p><strong>What is a git repository?<\/strong><\/p>\n\n\n\n<p>A repository is a file structure where git stores all the project-based files. Git can either stores the files on the local or the remote repository.<\/p>\n\n\n\n<p><strong>What does git clone do?<\/strong><\/p>\n\n\n\n<p>The command creates a copy (or clone) of an existing git repository. Generally, it is used to get a copy of the remote repository to the local repository.<\/p>\n\n\n\n<p><strong>What does the command git config do?<\/strong><\/p>\n\n\n\n<p>The&nbsp;<code>git config<\/code>&nbsp;command is a convenient way to set configuration options for defining the behavior of the repository, user information and preferences, git installation-based configurations, and many such things.&nbsp;<br>For example:<br>To set up your name and email address before using git commands, we can run the below commands:<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Jobs &amp; Salary Prospectus of GitHub skills<\/strong><\/h2>\n\n\n\n<p>The average estimated annual salary, including base and bonus, at GitHub is $137,139, or $65 per hour, while the estimated median salary is $137,633, or $66 per hour.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Free Video Tutorials of&nbsp;Github<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Git, GitHub, &amp; GitHub Desktop for beginners\" width=\"720\" height=\"405\" src=\"https:\/\/www.youtube.com\/embed\/8Dd7KRpKeaE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>What is GitHub? GitHub is a free personal and official, cloud-hosted platform for code. It works with Git on your and your colleagues&#8217; computers, serving as the origin, the source of truth for anyone working on the code. GitHub is a website where you can upload a copy of your Git repository. It allows you&#8230;<\/p>\n","protected":false},"author":1,"featured_media":28453,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[5204,2],"tags":[160,405,1548,831,5894],"class_list":["post-28424","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-github","category-uncategorised","tag-git","tag-github","tag-github-interview","tag-github-plugin","tag-github-issue"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/28424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=28424"}],"version-history":[{"count":3,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/28424\/revisions"}],"predecessor-version":[{"id":28457,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/28424\/revisions\/28457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media\/28453"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=28424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=28424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=28424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}