<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ritesh Kumar</title>
    <description>The latest articles on DEV Community by Ritesh Kumar (@wordssaysalot).</description>
    <link>https://dev.to/wordssaysalot</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F532025%2F190cdbbb-3b4f-49d2-a929-9371aaf2bab6.png</url>
      <title>DEV Community: Ritesh Kumar</title>
      <link>https://dev.to/wordssaysalot</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wordssaysalot"/>
    <language>en</language>
    <item>
      <title>SOME AWESOME FEATURES OF JAVASCRIPT ECMAScript 2016 (ES7)! </title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Thu, 03 Mar 2022 19:05:18 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/some-awesome-features-of-javascript-ecmascript-2016-es7-459a</link>
      <guid>https://dev.to/wordssaysalot/some-awesome-features-of-javascript-ecmascript-2016-es7-459a</guid>
      <description>&lt;p&gt;Javascript ES7 was a cake on top of the ES6 update. In my previous blog &lt;a href="https://dev.to/wordssaysalot/es6-way-of-coding-javascript-2kl2"&gt;ES6 way of coding Javascript!&lt;/a&gt; , I discussed a few useful features that were added to JavaScript in order to make our lives easier. Now, Let's have a look at some of the features that ES7 has to offer!&lt;/p&gt;

&lt;h2&gt;
  
  
  EXPONENTIATION OPERATOR
&lt;/h2&gt;

&lt;p&gt;The exponentiation operator, **, was introduced in ECMAScript 2016(ES7).&lt;br&gt;
Performs exponential calculation on operands, Same algorithm as Math.pow(x, y). It returns the first argument raised to the power of the second argument.&lt;/p&gt;

&lt;p&gt;With ES7 with can do  ( base** power )&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const value = 2**5
console.log(value) //32
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ASYNC FUNCTIONS
&lt;/h2&gt;

&lt;p&gt;ES7 given us the way to make any function 'asynchronous' explicitly. Very useful when we want wait for asynchronous request like http request, setTimeout etc.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function wait(){
   return new Promise((res, rej) =&amp;gt; setTimeout(res, 2000));
}
async function asyncMania(){
   console.log("1"); 
   await wait();   /// It will wait for promise to get resolve 
   console.log("2");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Array.prototype.includes()
&lt;/h2&gt;

&lt;p&gt;Surprised right? Yes the include() method in Array was introduced with ES7.&lt;br&gt;
Used for checking if the given element is in array or not.&lt;/p&gt;

&lt;p&gt;Array.prototype.includes() checks the array for the value passed as an argument. If the array contains the value, it returns true; otherwise, it returns false.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const arr = ['Hello', 'World', '!']
console.log( arr.includes('Hello') )        //true
console.log( arr.includes('Hello !!') )    // false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Object.entries()
&lt;/h2&gt;

&lt;p&gt;Takes an object as parameter and returns a Array of arrays of key, value pairs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myObj = {name: "Ritesh Kumar", username: "@wordsaysalot"}
console.log( Object.entries(myObj) )

//OUTPUT
//[ ['name', 'Ritesh kumar'], ['username', '@wordsaysalot'] ]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Add Paddings in String !
&lt;/h2&gt;

&lt;p&gt;String.prototype.padStart() and String.prototype.padEnd() allows you to add padding to the string towards left and right side.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myStr = "Hello"

console.log( myStr.padStart(10) )  //"_________Hello"
console.log( myStr.padEnd(10) )   // "Hello__________"

console.log( myStr.padStart(10, 'tests')) // "testsHello"
console.log( myStr.padEnd(10, 'tests'))   //  "Hellotests"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Trailing commas
&lt;/h2&gt;

&lt;p&gt;Last but not the least :) You can have trailing commas in function parameters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const myfun = (a,b,c,)=&amp;gt; console.log(a,b,c)
myfun(1,2,3)    //OUTPUT: 1 2 3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Over time, JavaScript has grown in popularity, and its community is continuously expanding. I tried to cover some of the key features brought to JS by ES7, but there is always more to learn.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Thanks for reading the article! I hope you guys found this article useful.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>ES6 way of coding Javascript!</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Mon, 27 Dec 2021 09:40:46 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/es6-way-of-coding-javascript-2kl2</link>
      <guid>https://dev.to/wordssaysalot/es6-way-of-coding-javascript-2kl2</guid>
      <description>&lt;p&gt;JavaScript is an incredibly fast and efficient programming language to use for a variety of purposes. Today Every type of software uses JavaScript, including Web apps, 3D games, robots, IoT devices, etc.&lt;br&gt;&lt;br&gt;
Back in 2007, Jeff Atwood (founder of StackOverflow), made a case that JavaScript would become a bigger part of web development. Atwood coined the term  &lt;code&gt;Atwood’s Law&lt;/code&gt;, which states:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Any application that can be written in JavaScript, will eventually be written in JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It’s now ten years later, and Atwood’s statement is truer than ever. JavaScript is continuing to gain more and more adoption. The “next generation” of Javascript is something known as ES6. ES6 is so far the best and biggest update javascript has ever received. It streamlined the javascript development and almost killed jQuery's career. ES6 mainly allows you to write less code and do more.&lt;br&gt;
In this post, I'll go over the six major differences between ES6 and ES5. Let’s take a look.&lt;/p&gt;
&lt;h2&gt;
  
  
  Arrow function: write less do more
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function add(a,b){ 
    return a+b
}
console.log(add(2,3))
//OUTPUT: 5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const add = (a,b)=&amp;gt; a+b
console.log(add(2,3))
//OUTPUT: 5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  Use const if you don't want to reassign the 'element variable by mistake.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var element = document.getElementById('myForm')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const element= document.getElementById('myForm')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  De-structuring: write less do more!
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var user = {
    name "Ritesh Kumar", 
    username: "@0xRitesh"
}
const name = user.name
const username user.username
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var user = {
    name "Ritesh Kumar".
    username: "@0xRitesh"
}
const {name,username} = user
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  Template Literals
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getUsertMessage(name,country){
    console.log('Hi, my name is '+ name+ ',and I am from '+ country)
}
logUserMessage('Ritesh, 'India')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function logUserMessage(name,country){
    console.log(`Hi, my name is ${name}, and I am from ${country}`)
}
logUserMessage('Ritesh', 'India')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  improve Object Literals
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getUserObj ( name, age, address){
    return {
        name: name,
        age: age,
        address: address
        }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getUserObj ( name, age, address){
    return {
        name,
        age,
        address
        }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;h2&gt;
  
  
  Default Parameters
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ES5 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function ES5Fun( username, platform){
    username, = username, || '@wordssaysalot';
    platform = platform || 'Dev';
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;ES6 WAY&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function ES6Fun( username = '@wordssaysalot' , platform= 'Dev') {
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Thanks for reading the article! I hope you guys found this article useful, and I hope I was able to introduce you to some of the ES6 features. &lt;/p&gt;




</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why React Hooks Exist?</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Mon, 23 Aug 2021 11:02:48 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/why-react-hooks-exist-4gn4</link>
      <guid>https://dev.to/wordssaysalot/why-react-hooks-exist-4gn4</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;React.js is the most widely used JavaScript library for front-end developers at the moment. It is utilized by developers and corporations all around the world as an open-source project.&lt;/p&gt;

&lt;p&gt;Hooks are one of the most useful features of react. When interacting with the state, hooks allowed us to employ functional components instead of class-based components. Aside from built-in hooks, React also allows us to create our own custom hooks.&lt;/p&gt;

&lt;p&gt;In this post, We'll look at what React Hooks are and why they're important.&lt;/p&gt;

&lt;h1&gt;
  
  
  Problem :
&lt;/h1&gt;

&lt;p&gt;Before react 16.8 (16 Feb 2019) developers were limited to use class-based components if they want to maintain state in the component, and functional components were used for only those components, which don't require any state.&lt;/p&gt;

&lt;p&gt;This results in inconsistency through the app and there were several issues with class-based components.&lt;/p&gt;

&lt;h1&gt;
  
  
  Issues :
&lt;/h1&gt;

&lt;p&gt;The use of two different types of components created these major issues:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Inconsistency through the app&lt;/li&gt;
&lt;li&gt;If someone wants to add states in functional&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;the component that requires the whole state to be converted into the class-based component.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;To use class-based components proper 'bind' has to be maintained.&lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  Hooks
&lt;/h1&gt;

&lt;p&gt;Hooks actually doesn't solve the problem related to class-based components.&lt;/p&gt;

&lt;p&gt;I just give some extra power to a functional component that allows developers to do anything with a functional component that they were already doing with class-based components.&lt;/p&gt;

&lt;p&gt;Hooks let you always use functional components instead of having to constantly switch between functions, classes, higher-order components, and render props.&lt;/p&gt;

&lt;h1&gt;
  
  
  Result
&lt;/h1&gt;

&lt;p&gt;Now most developer uses functional component with hooks because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;They can add remove states as they require.&lt;/li&gt;
&lt;li&gt;Hooks simplifies the development process and maintains consistency through the app.&lt;/li&gt;
&lt;li&gt;You no longer need to struggle with 'bind'&lt;/li&gt;
&lt;li&gt;Functional components became more versatile than class-based.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Final Notes
&lt;/h1&gt;

&lt;p&gt;Finally, I can guarantee you that learning React Hooks is not difficult. when I first started using react, I wasn't a big fan of hooks. But now I'm completely enamored with it. &lt;br&gt;
It may appear challenging at first, but as long as we focus on the fundamentals and learn how each component works, we will be able to incorporate this feature with ease. &lt;br&gt;
Wait a minute, if you want to learn the basics of react hooks, go through this  &lt;a href="https://reactjs.org/docs/hooks-overview.html"&gt;documentation&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;In the next article of this series, I'll go through some of my favorite instances of custom hooks and how to use them in your own apps. Until then, stay tuned.&lt;/p&gt;

&lt;h1&gt;
  
  
  Thanks for reading!
&lt;/h1&gt;

&lt;p&gt;As always, any questions or suggestions, please feel free to leave a response or  &lt;a href="https://twitter.com/dewdropxD"&gt;tweet me&lt;/a&gt;  🐦! Good luck and happy coding!!&lt;/p&gt;

</description>
      <category>react</category>
      <category>webdev</category>
    </item>
    <item>
      <title>My Journey Of Building pascaline  🧮</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Thu, 05 Aug 2021 18:16:32 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/my-journey-of-building-pascaline-5017</link>
      <guid>https://dev.to/wordssaysalot/my-journey-of-building-pascaline-5017</guid>
      <description>&lt;h3&gt;
  
  
  Hi Everyone 👋, hope you all are doing well. 🚀
&lt;/h3&gt;

&lt;p&gt;In this article, I'll tell you how the notion of pascaline came to me.&lt;/p&gt;

&lt;p&gt;Last week, I took part in the week-long  IBD WFH tool building challenge hosted by crio.do.&lt;br&gt;
In this challenge, We were instructed to build useful open-source apps or extensions that would help us work more efficiently and increase productivity.&lt;/p&gt;

&lt;p&gt;So I began thinking about what I could build and decided to work on an issue I found a few days ago.&lt;/p&gt;
&lt;h2&gt;
  
  
  Problem
&lt;/h2&gt;

&lt;p&gt;a while ago while filling out a form and had to answer some questions about my budget, so I think of quickly installed an extension to help me out. As soon as I opened the chrome store and explored some extensions, I found that all of them had a really unpleasant UI, they were working perfectly fine but the experience I found was not that pleasant. After that, I looked into some articles on how to build an extension and found the  &lt;a href="https://developer.chrome.com/docs/extensions/" rel="noopener noreferrer"&gt;Chrome documentation&lt;/a&gt; &amp;amp;  &lt;a href="https://www.freecodecamp.org/news/how-to-implement-a-chrome-extension-3802d63b5376/" rel="noopener noreferrer"&gt;this article &lt;/a&gt; to be really informative and useful.&lt;/p&gt;

&lt;p&gt;So I decided to build a new one because we all know from personal experience that a good User Interface is important in the sense that it allows everyone to clearly see and use the products. also, It was an excellent opportunity for me to implement the stack that I've recently learned.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Good design is like a refrigerator—when it works, no one notices, but when it doesn’t, it sure stinks.” –Irene Au&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Design
&lt;/h2&gt;

&lt;p&gt;I've been going deeper into the world of UI/UX for a few months now, and I'm loving the procss.&lt;br&gt;
Now, I started with a sketch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628051986433%2FqKKbLBcQ0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628051986433%2FqKKbLBcQ0.png" alt="Frame 38.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After that, I began creating the Design in FIGMA,&lt;br&gt;
screenshot of my untidy artboard&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627905202902%2F65k6OXC_pd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1627905202902%2F65k6OXC_pd.png" alt="image 26.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Development
&lt;/h2&gt;

&lt;p&gt;Basically, Extensions are software programs, built on web technologies that enable users to customize the browsing experience.&lt;br&gt;
First, let's talk about the &lt;br&gt;&lt;br&gt;
&lt;strong&gt;Tech Stack I used&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Library I used&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mathjs.org/" rel="noopener noreferrer"&gt;math.js&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, &lt;strong&gt;Phases of Development&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Extension Interface&lt;/li&gt;
&lt;li&gt;Manifest File&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I will explain each phase of development with relevant screenshots and code for better understanding.&lt;/p&gt;
&lt;h2&gt;
  
  
  1. Extension Interface
&lt;/h2&gt;

&lt;p&gt;To build the extension interface, we should have a fundamental knowledge of HTML, CSS, and JavaScript. HTML (index.html) is used to build the skeleton body of our extension and we style the components and button using CSS (style.css). We use JavaScript (script.js) to giving it life, i.e, make it work to solve the equations. &lt;/p&gt;

&lt;p&gt;So let’s dive into the first Part: The structure and design of our calculator.&lt;br&gt;
In the HTML skeleton Inside Body, I’m defining a new div with a class named “button”.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="button"&amp;gt; &amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I place one more div, inside this div and there will be text that our button should hold is placed between these two tags. Along with the tag, I’ll be giving them an id. This id will help at the time of back-end programming. See example below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;div class="button"&amp;gt;
&amp;lt;div class="inner-button"&amp;gt;
0
&amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&amp;amp;, I’ve coded the same div approx 20 times to make the basic structure of the calculator.&lt;br&gt;
You can find the whole HTML code below&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://jsfiddle.net/Wordssaysalot/k3hceavx/embedded/html//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Let’s jump to the CSS section. &lt;/p&gt;

&lt;p&gt;I primarily worked on these properties in order to make the calculator look nice.&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;background-color
&lt;/li&gt;
&lt;li&gt;Padding
&lt;/li&gt;
&lt;li&gt;Width
&lt;/li&gt;
&lt;li&gt;Text alignment
&lt;/li&gt;
&lt;li&gt;Font size
&lt;/li&gt;
&lt;li&gt;BORDER RADIUS
&lt;/li&gt;
&lt;li&gt;Box- Shadow

complete CSS code for this:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;iframe src="https://jsfiddle.net/Wordssaysalot/k3hceavx/3//embedded/css//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Now, We will be coming to the javascript part &lt;br&gt;&lt;br&gt;
Until now the calculator is lifeless. We have to give it life.&lt;br&gt;
So let’s dive into the backend section and make the calculator solve our problems.&lt;br&gt;
Now we have to define a function, that can perform different tasks and for the calculation part I used  Math.js i.e an extensive math library for JavaScript, It features real and complex numbers, units, matrices, a large set of mathematical functions, and a flexible expression parser.&lt;br&gt;&lt;br&gt;
Below is the complete script.js :&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://jsfiddle.net/Wordssaysalot/k3hceavx/5//embedded/js//dark" width="100%" height="600"&gt;
&lt;/iframe&gt;
&lt;br&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Manifest File
&lt;/h2&gt;



&lt;p&gt;We have now reached the second phase in our extension development and it involves creating a manifest.json file. The manifest.json file is the only file that every extension using WebExtension APIs must contain. Using manifest.json, we specify basic metadata about your extension such as the name and version, and can also specify aspects of your extension's functionality (such as background scripts, content scripts, and browser actions). We also add icons to our extension and test them in the browser to connect everything.&lt;br&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
We set our extension name in the name attribute. We define a version number and type out a description which the users can see after loading the extension. We set our background script in place. We use a 128px icon and a default icon to be displayed on the extension bar, both designed in Figma. Whenever the user opens a new tab we want our extension page to be loaded there. This is possible because of chrome_url_overrides which overrides the default new tab layout and loads our extension home index.html. We lastly add manifest version and security policies.&lt;br&gt;&lt;br&gt;
Below is the complete manifest.json code:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnk6e1h7z5kwpij8njy0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpnk6e1h7z5kwpij8njy0.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Testing
&lt;/h2&gt;

&lt;p&gt;Loading and Testing the extension &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;We open the Chrome web browser. On the top right corner customize button is represented by three vertical dots. Go to &lt;strong&gt;More tools -&amp;gt; Extensions&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enable Developer Mode&lt;/strong&gt; on the top left after opening the Extensions page. Then Click on Load unpacked and select the parent directory of the built extension.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009741532%2FrnsKldviD.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009741532%2FrnsKldviD.png" alt="1.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Fact: While loading an unpacked extension, Chrome always looks for the manifest.json file and loads the extension using that file as a parent. Know we know the importance of manifest.json.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;br&gt; 3.  Once loaded, on the extension page, we can see our extension with the icon and description as below. Click on Details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009754217%2FzAsVohw2_.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009754217%2FzAsVohw2_.png" alt="2.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt; 4. Here, we can see each and every detail about our extension which we put in our manifest.json file and the directory from which it was loaded.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009791902%2FkILPZGi9F.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1628009791902%2FkILPZGi9F.png" alt="Frame 37.png"&gt;&lt;/a&gt;&lt;br&gt;
&lt;br&gt; 5. Enable the extension and open a new tab. Voila! You should be able to see the extension up and running.&lt;/p&gt;

&lt;p&gt;You can now see the Pascaline logo in the browser's extension bar on the top right, from which you can also launch the extension.&lt;/p&gt;

&lt;p&gt;This brings us to the end of our development, and it was a great learning experience for me because I had never built an extension before.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Feel free to star ⭐️ the project if you found it useful -&lt;br&gt;
&lt;a href="https://github.com/wordssaysalot/Pascaline" rel="noopener noreferrer"&gt;https://github.com/wordssaysalot/Pascaline&lt;/a&gt; &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Thanks for reading!
&lt;/h2&gt;

&lt;p&gt;Let me know your thoughts and feedback in the comments section.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>opensource</category>
      <category>javascript</category>
      <category>css</category>
    </item>
    <item>
      <title>art of writing a good commit message</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Wed, 21 Jul 2021 12:11:12 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/art-of-writing-a-good-commit-message-56o7</link>
      <guid>https://dev.to/wordssaysalot/art-of-writing-a-good-commit-message-56o7</guid>
      <description>&lt;p&gt;Hi there, In this article, I will be discussing the importance of commit messages and I'll walk you through a format that will assist you in crafting effective commit messages.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“A commit message shows whether a developer is a good collaborator.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;-Peter Hutterer, &lt;em&gt;Senior Software Engineer at Red Hat&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;strong&gt;Let's start with an explanation of what a commit message is:&lt;/strong&gt;
&lt;/h4&gt;

&lt;p&gt;A commit message is a short description of the changes you've made to a file added before committing the changes. It is one of the most common ways for developers to communicate with one another &amp;amp; important to properly express any changes so that someone else reading it isn't left in the dark. &lt;/p&gt;

&lt;p&gt;If you browse through a random GitHub repository, you'll frequently come across an extremely random commit message that is not descriptive and is difficult to understand.&lt;br&gt;
So, It is essential that you take the time to write a proper commit message. Good commit messages are important not only for the people working on the project with you but also for you to keep track of all your commits and know exactly what changes were made during that commit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To compose a good commit message, I will recommend using This Commit Message Style Guide&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Defining a Commit Message Convention
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;type(scope): subject&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;body (optional)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;footer (optional)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The commit contains the following structural elements, to communicate intent to the consumers:&lt;/p&gt;
&lt;h3&gt;
  
  
  Type of commit
&lt;/h3&gt;



&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;feat - a new feature&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;fix - a bug fix&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;docs - changes in documentation&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;style - everything related to styling&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;refactor - code changes that neither fixes a bug or adds a feature&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;test - everything related to testing&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;chore - updating build tasks, package manager configs, etc&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Scope of commit (Optional)
&lt;/h3&gt;



&lt;p&gt;A scope MUST consist of a noun describing a section of the codebase affected by the changes (or simply the epic name) surrounded by parenthesis. Example:&lt;/p&gt;
&lt;h3&gt;
  
  
  Subject
&lt;/h3&gt;



&lt;p&gt;This contains a short description of the changes made. It shouldn't be greater than 50 characters, should begin with a capital letter and written in the imperative eg. Add instead of Added or Adds.&lt;/p&gt;
&lt;h3&gt;
  
  
  Body
&lt;/h3&gt;



&lt;p&gt;The body is used to explain what changes you made and why you made them. Not all commits are complex enough that they need a body, especially if you are working on a personal project alone, and as such writing a body is optional.&lt;br&gt;
A blank line between the body and the subject is required and each line should have no more than 72 characters.&lt;/p&gt;
&lt;h3&gt;
  
  
  Footer
&lt;/h3&gt;



&lt;p&gt;The footer is also optional and mainly used when you are using an issue tracker to reference the issue ID.&lt;br&gt;
Good commit messages serve at least three important purposes:&lt;/p&gt;

&lt;p&gt;To speed up the reviewing process.&lt;br&gt;
To help us write a good release note.&lt;br&gt;
To help the future maintainers of Erlang/OTP (it could be you!), say five years into the future, to find out why a particular change was made to the code or why a specific feature was added.&lt;/p&gt;
&lt;h3&gt;
  
  
  Example of a good commit message used by  &lt;a href="https://udacity.github.io/git-styleguide/"&gt;Udacity &lt;/a&gt;
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;feat: Summarize changes in around 50 characters or less&lt;/p&gt;

&lt;p&gt;More detailed explanatory text, if necessary. Wrap it to about 72&lt;br&gt;
characters or so. In some contexts, the first line is treated as the&lt;br&gt;
subject of the commit and the rest of the text as the body. The&lt;br&gt;
blank line separating the summary from the body is critical (unless&lt;br&gt;
you omit the body entirely); various tools like log, shortlog&lt;br&gt;
and rebase can get confused if you run the two together.&lt;/p&gt;

&lt;p&gt;Explain the problem that this commit is solving. Focus on why you&lt;br&gt;
are making this change as opposed to how (the code explains that).&lt;br&gt;
Are there side effects or other unintuitive consequences of this&lt;br&gt;
change? Here's the place to explain to them.&lt;/p&gt;

&lt;p&gt;Further paragraphs come after blank lines.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Bullet points are okay, too&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Typically a hyphen or asterisk is used for the bullet, preceded&lt;br&gt;
by a single space, with blank lines in between, but conventions&lt;br&gt;
vary here&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you use an issue tracker, put references to them at the bottom,&lt;br&gt;
like this:&lt;/p&gt;

&lt;p&gt;Resolves: #123&lt;br&gt;
See also: #456, #789&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Some more simple examples :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;feat: JIRA-123 -implement new set-group api&lt;/p&gt;

&lt;p&gt;docs: added banner in README.md&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While writing a commit message, keeping these things in mind&lt;/p&gt;
&lt;h3&gt;
  
  
  Rules for a great git commit message style
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Separate subject from body with a blank line&lt;/li&gt;
&lt;li&gt;Do not end the subject line with a period&lt;/li&gt;
&lt;li&gt;Capitalize the subject line and each paragraph&lt;/li&gt;
&lt;li&gt;Use the imperative mood in the subject line&lt;/li&gt;
&lt;li&gt;Wrap lines at 72 characters&lt;/li&gt;
&lt;li&gt;Use the body to explain what and why you have done something. In most cases, you can leave out details about how a change has been made.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Information in commit messages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Describe why a change is being made.&lt;/li&gt;
&lt;li&gt;How does it address the issue?&lt;/li&gt;
&lt;li&gt;What effects does the patch have?&lt;/li&gt;
&lt;li&gt;Do not assume the reviewer understands what the original problem was.&lt;/li&gt;
&lt;li&gt;Do not assume the code is self-evident/self-documenting.&lt;/li&gt;
&lt;li&gt;Read the commit message to see if it hints at improved code structure.&lt;/li&gt;
&lt;li&gt;The first commit line is the most important.&lt;/li&gt;
&lt;li&gt;Describe any limitations of the current code.&lt;/li&gt;
&lt;li&gt;Do not include patch set-specific comments.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Summarizing the Commit Message Guide
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;type(scope): subject 
&amp;lt;body&amp;gt;
&amp;lt;footer&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  1. Type of commit
&lt;/h3&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feat:     The new feature being added to a particular application
fix:      A bug fix
style:    Feature and updates related to styling
refactor: Refactoring a specific section of the codebase
test:     Everything related to testing
docs:     Everything related to documentation
chore:    Regular code maintenance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  2. Scope (optional)
&lt;/h3&gt;

&lt;p&gt;Provided in parentheses after the type of commit, describing parts of the code affected by the changes or simply the epic name.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feat(claims)
fix(orders)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Subject
&lt;/h3&gt;

&lt;p&gt;Short description of the applied changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Limit the subject line to 50 characters&lt;/li&gt;
&lt;li&gt;Your commit message should not contain any whitespace errors or punctuation marks&lt;/li&gt;
&lt;li&gt;Do not end the subject line with a period&lt;/li&gt;
&lt;li&gt;Use the present tense or imperative mood in the subject line
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feat(claims): add claims detail page
fix(orders): validation of custom specification
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Body (Optional)
&lt;/h3&gt;

&lt;p&gt;Use the body to explain what changes you have made and why you made them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Separate the subject from the body with a blank line&lt;/li&gt;
&lt;li&gt;Limit each line to 72 characters&lt;/li&gt;
&lt;li&gt;Do not assume the reviewer understands what the original problem was, ensure you add it&lt;/li&gt;
&lt;li&gt;Do not think your code is self-explanatory
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;refactor!: drop support for Node 6
BREAKING CHANGE: refactor to use JavaScript features not available in Node 6.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Footer (optional)
&lt;/h3&gt;

&lt;p&gt;Use this section to reference issues affected by the code changes or comment to another developers or testers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fix(orders): correct minor typos in code
See the issue for details
on typos fixed.
Reviewed-by: @John Doe
Refs #133
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  references
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html"&gt;http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.openstack.org/wiki/GitCommitMessages"&gt;https://wiki.openstack.org/wiki/GitCommitMessages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://chris.beams.io/posts/git-commit/"&gt;http://chris.beams.io/posts/git-commit/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits"&gt;https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional"&gt;https://github.com/conventional-changelog/commitlint/tree/master/@commitlint/config-conventional&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Thanks for reading!
&lt;/h3&gt;

&lt;p&gt;Let me know your thoughts and feedback in the comments section.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Popular GitHub repositories Every Developer Should Follow</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Sun, 20 Jun 2021 20:07:21 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/popular-github-repositories-every-developer-should-follow-5fcb</link>
      <guid>https://dev.to/wordssaysalot/popular-github-repositories-every-developer-should-follow-5fcb</guid>
      <description>&lt;p&gt;GitHub is not just a version control service; it is a terrific content resource for all-things-development From free e-books and tutorials, to interview preparation material and ‘awesome’ listicles, GitHub is the go-to learning hub for Developers.&lt;br&gt;
If you are one of the developers who visit GitHub quite often then greetings we have something for you, a collection of GitHub repositories that you should mark star in your favorite repository list &lt;br&gt;
but it depends again on things that you want to learn or want to explore.&lt;/p&gt;

&lt;p&gt;I've compiled a list of the most valuable repositories, I'm willing to bet you haven't come across most of them!&lt;/p&gt;



&lt;h2&gt;
  
  
  1.  Awesome
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 164k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Awesome is, without a doubt, the most popular repo that curates all topics from software development to hardware to business. It has more than 123,000 stars on Github at this moment, and one could spend days (nights) browsing it. It is my one-stop shop if I want to learn something new.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/sindresorhus" rel="noopener noreferrer"&gt;
        sindresorhus
      &lt;/a&gt; / &lt;a href="https://github.com/sindresorhus/awesome" rel="noopener noreferrer"&gt;
        awesome
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      😎 Awesome lists about all kinds of interesting topics
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  2. Free Programming Books
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 194k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Despite the fact that the repository's name is Free Programming Books, it offers much more. It includes sections for free online classes, interactive programming materials, problem sets and competitive programming, podcasts, and programming playgrounds, and is available in a variety of languages.&lt;/p&gt;

&lt;p&gt;However, the vast majority of them are programming books. And that is an amazing collection.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/EbookFoundation" rel="noopener noreferrer"&gt;
        EbookFoundation
      &lt;/a&gt; / &lt;a href="https://github.com/EbookFoundation/free-programming-books" rel="noopener noreferrer"&gt;
        free-programming-books
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      📚 Freely available programming books
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  3. Build Your Own X
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 110k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This incredible repository is basically a collection of lessons on how to create your own technology. There are examples of how to create a command-line tool, an operating system, a search engine, a 3D renderer, and a plethora of other things.&lt;/p&gt;

&lt;p&gt;Have you ever considered developing your own Cryptocurrency, Database, Bots, programming language? Then this is the right repository for you.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/codecrafters-io" rel="noopener noreferrer"&gt;
        codecrafters-io
      &lt;/a&gt; / &lt;a href="https://github.com/codecrafters-io/build-your-own-x" rel="noopener noreferrer"&gt;
        build-your-own-x
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Master programming by recreating your favorite technologies from scratch.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  3. Awesome interview questions
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 41k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A curated awesome list of lists of interview questions, With over 40k stars, this repository contains a huge volume of interview questions in almost every programming language and framework you can think of.&lt;/p&gt;

&lt;p&gt;Very useful if you're preparing for an interview!&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DopplerHQ" rel="noopener noreferrer"&gt;
        DopplerHQ
      &lt;/a&gt; / &lt;a href="https://github.com/DopplerHQ/awesome-interview-questions" rel="noopener noreferrer"&gt;
        awesome-interview-questions
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      :octocat: A curated awesome list of lists of interview questions. Feel free to contribute! 🎓 
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  4. Javascript algorithms
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 111k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This repository contains JavaScript-based examples of many popular algorithms and data structures.&lt;/p&gt;

&lt;p&gt;Each algorithm and data structure has its separate README with related explanations and links for further reading (including ones to YouTube videos).&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/trekhleb" rel="noopener noreferrer"&gt;
        trekhleb
      &lt;/a&gt; / &lt;a href="https://github.com/trekhleb/javascript-algorithms" rel="noopener noreferrer"&gt;
        javascript-algorithms
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  5. Public Apis
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 132k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you are a developer, then definitely you will have to deal with APIs for your application. This repository makes the developer tasks easier by presenting a list of frequently updated collections of public APIs. These APIs are free and separated into different categories to explore them easily. &lt;/p&gt;

&lt;p&gt;This list contains a wide range of APIs. There are APIs that provide funny memes and images of cats.&lt;br&gt;
However, there are some that are more helpful, such as the Gmail API or the Google Analytics API. Star mark this repository and get the benefit of it while building your application.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/public-apis" rel="noopener noreferrer"&gt;
        public-apis
      &lt;/a&gt; / &lt;a href="https://github.com/public-apis/public-apis" rel="noopener noreferrer"&gt;
        public-apis
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A collective list of free APIs
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  6. The art of command line
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;*GitHub stars: 92k+ *&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The command line is usually overlooked by developers, yet this could help you increase your productivity and flexibility as an engineer. This repository contains useful notes and tips on using the command line when working on Linux, Windows, or macOS.&lt;/p&gt;

&lt;p&gt;This repository also contains tips and hacks to save time while using the command line and is useful to both inexperienced and experienced users&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/jlevy" rel="noopener noreferrer"&gt;
        jlevy
      &lt;/a&gt; / &lt;a href="https://github.com/jlevy/the-art-of-command-line" rel="noopener noreferrer"&gt;
        the-art-of-command-line
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Master the command line, in one page
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  7. Project Based Learning
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars:  51k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A list of programming tutorials in which learners build an application from scratch. These tutorials are divided into different primary programming languages. Some have intermixed technologies and languages. &lt;br&gt;
This repository is for you if you believe in the notion of "Learning by Doing."&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/practical-tutorials" rel="noopener noreferrer"&gt;
        practical-tutorials
      &lt;/a&gt; / &lt;a href="https://github.com/practical-tutorials/project-based-learning" rel="noopener noreferrer"&gt;
        project-based-learning
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Curated list of project-based tutorials
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  8. Beautiful Docs
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 6.4k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is a well-known fact that Documentation is an important asset to any software project. Writing self-documented code is one thing, but presenting it in a meaningful way is another. The author has collected those online resources that are ‘beautiful’ in terms of structure, design, usability, styling, diagrams, etc — so anyone that looks for inspiration on how to design their own documentation will find it resourceful.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/matheusfelipeog" rel="noopener noreferrer"&gt;
        matheusfelipeog
      &lt;/a&gt; / &lt;a href="https://github.com/matheusfelipeog/beautiful-docs" rel="noopener noreferrer"&gt;
        beautiful-docs
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Pointers to useful, well-written, and otherwise beautiful documentation.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;




&lt;h2&gt;
  
  
  9. Developer roadmap
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 163k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A very good developer roadmap guide was created by &lt;a href="https://github.com/kamranahmedse" rel="noopener noreferrer"&gt;Kamran Ahmed&lt;/a&gt;. A lot of students and newbies in programming get confused about what technology they should learn and what path they should follow step by step to become a developer. He has prepared a complete chart including the technology in each category of development(frontend, backend, DevOps..) that will give you a clear understanding of what you should learn next. Bookmark this repository if you like the way he guided you to become a developer.&lt;br&gt;
The repo gets updated every year to reflect changes in the ecosystem.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/kamranahmedse" rel="noopener noreferrer"&gt;
        kamranahmedse
      &lt;/a&gt; / &lt;a href="https://github.com/kamranahmedse/developer-roadmap" rel="noopener noreferrer"&gt;
        developer-roadmap
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Interactive roadmaps, guides and other educational content to help developers grow in their careers.
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  10. 30 seconds of code
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;GitHub stars: 77k+&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This repository contains short JavaScript code snippets for all your development needs.&lt;br&gt;
30 seconds of code provides free high-quality learning resources for web developers of all skill levels in the form of snippet collections in various programming languages since its inception in 2017. Today, 30 seconds of code consists of a large community of contributors and a handful of dedicated maintainers working towards creating the best short-form learning resources for software developers. &lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Chalarangelo" rel="noopener noreferrer"&gt;
        Chalarangelo
      &lt;/a&gt; / &lt;a href="https://github.com/Chalarangelo/30-seconds-of-code" rel="noopener noreferrer"&gt;
        30-seconds-of-code
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Short code snippets for all your development needs
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h4&gt;
  
  
  Bonus:
&lt;/h4&gt;
&lt;h2&gt;
  
  
  Design Resources for Developers
&lt;/h2&gt;

&lt;p&gt;This repository has a curated list of design and UI resources, including stock images, web templates, CSS frameworks, UI libraries, tools, and more, all of which are accessible for use in your projects and apps for free. &lt;br&gt;
Everything you'll need to get started with your Front-end development.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/bradtraversy" rel="noopener noreferrer"&gt;
        bradtraversy
      &lt;/a&gt; / &lt;a href="https://github.com/bradtraversy/design-resources-for-developers" rel="noopener noreferrer"&gt;
        design-resources-for-developers
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Curated list of design and UI resources from stock photos, web templates, CSS frameworks, UI libraries, tools and much more
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;

&lt;h2&gt;
  
  
  Awesome repositories
&lt;/h2&gt;

&lt;p&gt;All of GitHub's great repositories are collected in Awesome repositories. It contains a number of helpful repositories that might aid you in future development projects or help you acquire a new skill.&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/0xRitesh" rel="noopener noreferrer"&gt;
        0xRitesh
      &lt;/a&gt; / &lt;a href="https://github.com/0xRitesh/awesome-repositories" rel="noopener noreferrer"&gt;
        awesome-repositories
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Useful GitHub Repos That Every Developer Should Follow
    &lt;/h3&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I hope you find these resources valuable. &lt;/p&gt;

&lt;h4&gt;
  
  
  Thanks for reading! and happy Developing!
&lt;/h4&gt;

</description>
      <category>github</category>
      <category>javascript</category>
      <category>programming</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Important git commands every developer should know</title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Sat, 05 Jun 2021 14:41:53 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/important-git-commands-every-developer-should-know-109e</link>
      <guid>https://dev.to/wordssaysalot/important-git-commands-every-developer-should-know-109e</guid>
      <description>&lt;p&gt;Since there are many various commands you can use, mastering Git takes time. However, certain commands are used more frequently than others. So, in this article, I will provide and explain the ten most often used Git commands that every developer should be familiar with.&lt;/p&gt;

&lt;p&gt;Please note that you must be familiar with the fundamentals of Git in order to comprehend this article.&lt;br&gt;
If you want to learn the basics of git and GitHub. I wrote an article on it in a previous &lt;a href="https://dev.to/wordssaysalot/an-introduction-to-git-and-github-2b99"&gt;&lt;strong&gt;blog&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is a list of few commands that you can use frequently on GitHub(git bash) :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622820605669%2FqOzu48wYB.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622820605669%2FqOzu48wYB.png" alt="2.png"&gt;&lt;/a&gt;&lt;br&gt;
Everything starts from here. The first step is to initialize a new Git repo locally in your project root. &lt;br&gt;
The git init command creates a new Git repository. It can be used to convert an existing, unversioned project to a Git repository or initialize a new, empty repository. You can do so with the command below:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821028125%2FqMzh27zVX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821028125%2FqMzh27zVX.png" alt="Frame 15.png"&gt;&lt;/a&gt;&lt;br&gt;
Git clone is a command for downloading existing source code from a remote repository (like Github, for example). In other words, Git clone basically makes an identical copy of the latest version of a project in a repository and saves it to your computer.&lt;/p&gt;

&lt;p&gt;There are a couple of ways to download the source code, but mostly I prefer the clone with HTTPS way:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone &amp;lt;https://name-of-the-repository-link&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821093881%2FsAxojbe08.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821093881%2FsAxojbe08.png" alt="3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Branches are quite significant in the world of git. Using branches, several developers may work on the same project at the same time. We can use the git branch command for creating, listing, and deleting branches.&lt;/p&gt;

&lt;p&gt;Creating a new branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will create a branch locally. To push the new branch into the remote repository, you need to use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push -u &amp;lt;remote&amp;gt; &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Viewing branches:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch or git branch --list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Deleting a branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -d &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821517747%2FVzPTBJXD7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821517747%2FVzPTBJXD7.png" alt="Frame 18.png"&gt;&lt;/a&gt;&lt;br&gt;
This is also one of the most used Git commands. To work in a branch, first, you need to switch to it. We use git checkout mostly for switching from one branch to another. We can also use it for checking out files and commits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout &amp;lt;name-of-your-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are some steps you need to follow for successfully switching between branches:&lt;/p&gt;

&lt;p&gt;The changes in your current branch must be committed or stashed before you switch&lt;br&gt;
The branch you want to check out should exist in your local&lt;br&gt;
There is also a shortcut command that allows you to create and switch to a branch at the same time:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b &amp;lt;name-of-your-branch&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a new branch in your local (-b stands for the branch) and checks the branch out to new right after it has been created.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821653145%2FfMC3rnWeH.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622821653145%2FfMC3rnWeH.png" alt="5.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Git status command gives us all the necessary information about the current branch.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can gather information like:&lt;br&gt;
Whether the current branch is up to date&lt;br&gt;
Whether there is anything to commit, push or pull&lt;br&gt;
Whether there are files staged, unstaged or untracked&lt;br&gt;
Whether there are files created, modified, or deleted.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822105657%2FhXPn3L1FK.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822105657%2FhXPn3L1FK.png" alt="6.png"&gt;&lt;/a&gt;&lt;br&gt;
When we create, modify or delete a file, these changes will happen in our local and won't be included in the next commit (unless we change the configurations).&lt;br&gt;
We need to use the git add command to include the changes of a file(s) into our next commit. &lt;/p&gt;

&lt;p&gt;To add a single file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add &amp;lt;file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To add everything at once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -A
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important: The git add command doesn't change the repository and the changes are not saved until we use git commit.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822294490%2FCNvpsNQt-.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822294490%2FCNvpsNQt-.png" alt="7.png"&gt;&lt;/a&gt;&lt;br&gt;
This is maybe the most-used command of Git. Once we reach a certain point in development, we want to save our changes (maybe after a specific task or issue).&lt;/p&gt;

&lt;p&gt;Git commit is like setting a checkpoint in the development process which you can go back to later if needed.&lt;/p&gt;

&lt;p&gt;We also need to write a short message to explain what we have developed or changed in the source code.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -m "commit message"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important: Git commit saves your changes only locally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822353319%2Fm-r-in7Y6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822353319%2Fm-r-in7Y6.png" alt="8.png"&gt;&lt;/a&gt;&lt;br&gt;
After committing your changes, the next thing you want to do is send your changes to the remote server. Git push uploads your commits to the remote repository.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push &amp;lt;remote&amp;gt; &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;However, if your branch is newly created, then you also need to upload the branch with the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push --set-upstream &amp;lt;remote&amp;gt; &amp;lt;name-of-your-branch&amp;gt;
or
git push -u origin &amp;lt;branch_name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important: Git push only uploads changes that are committed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822415388%2F3vhOJpX3S.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822415388%2F3vhOJpX3S.png" alt="9.png"&gt;&lt;/a&gt;&lt;br&gt;
The git pull command is used to get updates from the remote repo. This command is a combination of git fetch and git merge which means that, when we use git pull, it gets the updates from a remote repository (git fetch) and immediately applies the latest changes in your local (git merge).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull &amp;lt;remote&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This operation may cause conflicts that you need to solve manually.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822540392%2Fg7Sey6G-8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822540392%2Fg7Sey6G-8.png" alt="10.png"&gt;&lt;/a&gt;&lt;br&gt;
Sometimes we need to reverse the changes we've made. There are several ways to reverse our modifications locally or remotely (depending on what we require), but we must use these commands with caution to avoid undesired removals.&lt;br&gt;
We can reverse our commits in a more secure manner by using git revert. To view our commit history, we must first run git log.&lt;br&gt;
Now,we just need to specify the hash code next to our commit that we would like to undo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git revert  &amp;lt;hash code&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The advantage of using git revert is that it doesn't touch the commit history. This means that you can still see all of the commits in your history, even the reverted ones.&lt;br&gt;
Another safety measure here is that everything happens in our local system unless we push them to the remote repo. That's why git revert is safer to use and is the preferred way to undo our commits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822943690%2FcM8z97sXw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622822943690%2FcM8z97sXw.png" alt="11.png"&gt;&lt;/a&gt;&lt;br&gt;
When you've completely finished on your branch and everything is working well, the next step is to merge it with the parent branch. The git merge command is used to do this.&lt;/p&gt;

&lt;p&gt;Git merge merges your feature branch and all of its commits back to the master branch. It's critical to remember that you must first be on the branch that you wish to combine with your feature branch.&lt;/p&gt;

&lt;p&gt;For example, when you want to merge your feature branch into the master branch:&lt;br&gt;
First you should switch to the  master branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Before merging, you should update your local master branch:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, you can merge your feature branch into master:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge &amp;lt;branch-name&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hint: Make sure your master branch has the latest version before you merge your branches, otherwise you may face conflicts or other unwanted problems.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622823133735%2FJSQLSa5ZJQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fupload%2Fv1622823133735%2FJSQLSa5ZJQ.png" alt="12.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are having trouble remembering commands or options for commands, you can use Git help.&lt;/p&gt;

&lt;p&gt;There are a couple of different ways you can use the help command in command line:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git command -help : See all the available options for the specific command&lt;br&gt;
git help --all  :   See all possible commands&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git command -help 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;




&lt;p&gt;These are the commands that I believe every developer should know in order to get things done evenly. Please let me know in the comments if you think I've missed anything important or if you think something could be done better.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Thank you for reading!&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;/p&gt;


</description>
      <category>github</category>
      <category>git</category>
      <category>codenewbie</category>
      <category>dev</category>
    </item>
    <item>
      <title>An  Introduction to Git And Github </title>
      <dc:creator>Ritesh Kumar</dc:creator>
      <pubDate>Fri, 21 May 2021 20:09:32 +0000</pubDate>
      <link>https://dev.to/wordssaysalot/an-introduction-to-git-and-github-2b99</link>
      <guid>https://dev.to/wordssaysalot/an-introduction-to-git-and-github-2b99</guid>
      <description>&lt;p&gt;Git and GitHub are at the core of open source in today’s programming world. However, there are a lot of confusing often seem about these terms, similar yet have different meanings and uses. Let’s demystify this confusion by decoding their underlying meanings&lt;/p&gt;

&lt;p&gt;&lt;code&gt;In this article, we’ll first explain &lt;br&gt;
Version control&lt;br&gt;
Then, we’ll dig into more about Git and GitHub.&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A quick aside: git is not the same as GitHub. Git is an open-source version control tool that was developed in 2005 by Linux developers; GitHub is a company that produces software that integrates with git and was established in 2008. You can use git without GitHub, but you can't use GitHub without git.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8aepcx5lmvvod542e3p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8aepcx5lmvvod542e3p7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Is Version Control?&lt;br&gt;
&lt;/h3&gt;

&lt;p&gt;Version control refers to the practice of tracking and managing changes to software code, and Version Control Systems refers to software tools that assist software teams in managing changes to source code over time. It allows developers to monitor and handle modifications to the code of a software project. &lt;br&gt;
                       Version Control becomes more important as a software project increases in size. Version management enables developers to deal safely with splitting and combining. &lt;br&gt;
A creator uses branching to repeat a portion of the source code (called the repository). The developer will then easily modify the section of code without disturbing the remainder of the project. When the developer’s part of the code is running well, he or she will integrate it back into the main source code and make it official. Many of these modifications are then monitored and, if necessary, may be undone.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmc41alfqferbfjiasvib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmc41alfqferbfjiasvib.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What is Git?
&lt;/h3&gt;

&lt;p&gt;Git is a commonly used Version Control System (VCS) that allows you to keep track of all the code changes. This means you can simply roll back to a previous update if a new function causes problems.&lt;/p&gt;

&lt;p&gt;Git, on the other hand, isn't just any VCS; it's a Distributed VCS. This means that each project partner would have a record of the modifications made to their own computer. As a result, people will focus on various aspects of the project without having to connect with the website that hosts the remote version. This is extremely effective, and any modifications made to the project can be quickly merged with the remote copy.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2zjrgrdktjmllksk9oda.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2zjrgrdktjmllksk9oda.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What exactly is GitHub?
&lt;/h3&gt;

&lt;p&gt;Git is at the heart of GitHub, a commonly used version management tool. It allows you to host a remote version of your project, which all partners can use. Any GitHub user, not just members of your team, will add to your code (that is of course if you choose to accept the changes made).&lt;/p&gt;

&lt;p&gt;GitHub is a social forum where you can discover open-source software and its source code.&lt;br&gt;
You can work together on incredible projects and share your contributions! This is the most effective open-source framework available.&lt;br&gt;
Additionally, anyone can sign up and host a public code repository for free, which makes GitHub especially popular with open-source projects.&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Git vs Github
&lt;/h3&gt;

&lt;p&gt;What’s the difference between Git and GitHub then?&lt;/p&gt;

&lt;p&gt;It's equivalent to asking for Email vs. Gmail. Git is a version control system, and GitHub is a cloud-based hosting service that helps in managing Git repositories.&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi01hsbxftpkl45pgiiob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi01hsbxftpkl45pgiiob.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Exploring The GitHub Interface
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmeprdtfmgwpngm39pcjd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmeprdtfmgwpngm39pcjd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To give you a basic understanding of what the GitHub interface looks like, here’s the freeCodeCamp source code hosted at a GitHub repository:&lt;/p&gt;

&lt;p&gt;From here, you can view the various branches that are being worked on, as well as when someone made a commit (this is kind of like “saving” a file). Depending on how a repository is set up, you also might be able to create your own branch and make your own commits there.&lt;/p&gt;

&lt;p&gt;Once you've made the modifications, you can add the code to a branch by making a pull request. A pull request is essentially a request to the branch's maintainer to include your code. It also allows the person to see exactly what changes you've made to the code.&lt;/p&gt;

&lt;p&gt;If you were to make permanent changes to any or more of the freeCodeCamp source code on your account, you might fork it by pressing the Fork button (a fork is equivalent to a branch in concept, but a fork is more permanent).&lt;/p&gt;

&lt;p&gt;If you want to learn more about Git and GitHub :&lt;br&gt;
&lt;a href="https://git-scm.com/doc" rel="noopener noreferrer"&gt;Git Documentation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://guides.github.com/activities/hello-world/" rel="noopener noreferrer"&gt;GitHub’s Hello World guide&lt;/a&gt;&lt;br&gt;
&lt;a href="https://guides.github.com/introduction/git-handbook/" rel="noopener noreferrer"&gt;Git Handbook&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/GitHub" rel="noopener noreferrer"&gt;MDN Web Docs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>codenewbie</category>
    </item>
  </channel>
</rss>
