{"id":183,"date":"2014-01-30T19:54:02","date_gmt":"2014-01-30T19:54:02","guid":{"rendered":"https:\/\/solutionstreet.com\/blog\/?p=183"},"modified":"2014-01-30T19:54:02","modified_gmt":"2014-01-30T19:54:02","slug":"thebasicsofgit","status":"publish","type":"post","link":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/","title":{"rendered":"The Basics of Git"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h4><span style=\"color: #008000;\"><strong>\u00a0 \u00a0 Written By: \u00a0Josh Gong<\/strong><\/span><\/h4>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. The design goal is to build a fast, highly parallel, and robust version management system that can handle large projects like the Linux kernel development efficiently. \u00a0I recently gave a presentation on <a title=\"The Basics of Git\" href=\"https:\/\/www.youtube.com\/watch?v=E9fLQaUHTAw\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000;\"><span style=\"text-decoration: underline;\">The Basics of Git\u00a0<\/span><\/span><\/a>for our tech session at\u00a0<span style=\"text-decoration: underline;\"><span style=\"color: #008000; text-decoration: underline;\"><a href=\"https:\/\/solutionstreet.com\/\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000; text-decoration: underline;\">Solution Street<\/span><\/a>.<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Git visualizes a version of data as a snapshot of state instead of a patch of differences. Thus, each client is able to mirror the full repository, including meta data, to the local environment, and unleashes the power of offline operation in version control, history management and data integrity.<\/p>\n<p>&nbsp;<\/p>\n<p>The first part of the presentation gives an overview of the underlying concept, comparing the traditional central repository with distributed repository. It then covers the installation and configuration as well as the initialization of our first repository. Next, it will go over the file status life cycle: untracked, unmodified, modified and staged. After that, the rest of the presentation demonstrates hands-on coding through an example of making an &#8220;angry penguin&#8221;(Cheers angry bird fans!) which demonstrates the most common commands such as $git status, $git add, $git diff and others.<\/p>\n<p>&nbsp;<\/p>\n<p>Though the focus of this presentation is more on the local repository operations, it does briefly introduce several commands that are used to interact with remote repository, i.e. $git fetch, $git pull, $git push, etc. It also highlights the new concept of &#8220;rebase&#8221; and the differences between $git merge and $git rebase. After getting familiar with the basic operations, you may want to roll up your sleeves and download (or build if you are only gonna test out) a real repository from Github (a website hosting tons of Git repositories for various projects), and start to make your unique contributions!<\/p>\n<p>&nbsp;<\/p>\n<p>If you are interested in learning more, such as the silent majority of lower level plumbing code, you may find these links helpful:<\/p>\n<p>&nbsp;<\/p>\n<p>Git tutorial:\u00a0<span style=\"text-decoration: underline;\"><span style=\"color: #008000;\"><a href=\"http:\/\/git-scm.com\/book\/en\/Getting-Started\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000; text-decoration: underline;\">http:\/\/git-scm.com\/book\/en\/Getting-Started<\/span><\/a><\/span><\/span><\/p>\n<p>Git in lower details:\u00a0<span style=\"text-decoration: underline; color: #008000;\"><a href=\"http:\/\/www.youtube.com\/watch?v=MYP56QJpDr4\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000; text-decoration: underline;\">http:\/\/www.youtube.com\/watch?v=MYP56QJpDr4<\/span><\/a><\/span><\/p>\n<p>Github bootcamp:\u00a0<span style=\"text-decoration: underline;\"><span style=\"color: #008000;\"><a href=\"https:\/\/help.github.com\/categories\/54\/articles\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #008000; text-decoration: underline;\">https:\/\/help.github.com\/categories\/54\/articles<\/span><\/a><\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Check out my presentation <span style=\"color: #000000;\">&#8211;<\/span> \u00a0<a title=\"The Basics of Git\" href=\"https:\/\/www.youtube.com\/watch?v=E9fLQaUHTAw\" target=\"_blank\" rel=\"noopener\"><span style=\"text-decoration: underline;\"><span style=\"color: #008000; text-decoration: underline;\"><span style=\"color: #008000; text-decoration: underline;\">The Basic<\/span>s of Git<\/span><\/span><\/a>\u00a0on YouTube!<\/p>\n<p>&nbsp;<\/p>\n<p><em>Cheers,<\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Josh<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-190 alignright\" title=\"Angry Penguin \" alt=\"Angry Penguin \" src=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg 300w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-150x150.jpg 150w, https:\/\/www.solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird.jpg 369w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; \u00a0 \u00a0 Written By: \u00a0Josh Gong &nbsp; &nbsp; Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. The design goal is to build a fast, highly parallel, and robust version management system that can handle large projects like the Linux [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-183","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>The Basics of Git - Solution Street Blog<\/title>\n<meta name=\"description\" content=\"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Basics of Git - Solution Street Blog\" \/>\n<meta property=\"og:description\" content=\"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/\" \/>\n<meta property=\"og:site_name\" content=\"Solution Street Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-01-30T19:54:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg\" \/>\n<meta name=\"author\" content=\"afrankel\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"afrankel\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/\"},\"author\":{\"name\":\"afrankel\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"headline\":\"The Basics of Git\",\"datePublished\":\"2014-01-30T19:54:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/\"},\"wordCount\":391,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/angry-bird-300x300.jpg\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/\",\"name\":\"The Basics of Git - Solution Street Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/angry-bird-300x300.jpg\",\"datePublished\":\"2014-01-30T19:54:02+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\"},\"description\":\"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#primaryimage\",\"url\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/angry-bird-300x300.jpg\",\"contentUrl\":\"https:\\\/\\\/solutionstreet.com\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/01\\\/angry-bird-300x300.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/2014\\\/01\\\/30\\\/thebasicsofgit\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Basics of Git\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/\",\"name\":\"Solution Street Blog\",\"description\":\"Quality Software Engineering - Technology and Consulting Articles\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/#\\\/schema\\\/person\\\/4918a8dfd726e6176a3b516b9f1fd00f\",\"name\":\"afrankel\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g\",\"caption\":\"afrankel\"},\"url\":\"https:\\\/\\\/www.solutionstreet.com\\\/blog\\\/author\\\/afrankel\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Basics of Git - Solution Street Blog","description":"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/","og_locale":"en_US","og_type":"article","og_title":"The Basics of Git - Solution Street Blog","og_description":"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.","og_url":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/","og_site_name":"Solution Street Blog","article_published_time":"2014-01-30T19:54:02+00:00","og_image":[{"url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg","type":"","width":"","height":""}],"author":"afrankel","twitter_card":"summary_large_image","twitter_misc":{"Written by":"afrankel","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#article","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/"},"author":{"name":"afrankel","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"headline":"The Basics of Git","datePublished":"2014-01-30T19:54:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/"},"wordCount":391,"commentCount":0,"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/","url":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/","name":"The Basics of Git - Solution Street Blog","isPartOf":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#primaryimage"},"image":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#primaryimage"},"thumbnailUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg","datePublished":"2014-01-30T19:54:02+00:00","author":{"@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f"},"description":"Git is a distributed version control system. It was initially designed and developed by Linus Torvalds for Linux kernel development in 2005. A presentation on the basics of Git was presented by Josh Gong at Solution Street.","breadcrumb":{"@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#primaryimage","url":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg","contentUrl":"https:\/\/solutionstreet.com\/blog\/wp-content\/uploads\/2014\/01\/angry-bird-300x300.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.solutionstreet.com\/blog\/2014\/01\/30\/thebasicsofgit\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.solutionstreet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"The Basics of Git"}]},{"@type":"WebSite","@id":"https:\/\/www.solutionstreet.com\/blog\/#website","url":"https:\/\/www.solutionstreet.com\/blog\/","name":"Solution Street Blog","description":"Quality Software Engineering - Technology and Consulting Articles","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.solutionstreet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.solutionstreet.com\/blog\/#\/schema\/person\/4918a8dfd726e6176a3b516b9f1fd00f","name":"afrankel","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/906488c05ad8322b055f0d85b5cee1f6f966ce8715b51d59df3f0ced8ae01b6b?s=96&d=mm&r=g","caption":"afrankel"},"url":"https:\/\/www.solutionstreet.com\/blog\/author\/afrankel\/"}]}},"_links":{"self":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/comments?post=183"}],"version-history":[{"count":0,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/posts\/183\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/media?parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/categories?post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.solutionstreet.com\/blog\/wp-json\/wp\/v2\/tags?post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}