<?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: AjeethKumar_Ramesh</title>
    <description>The latest articles on DEV Community by AjeethKumar_Ramesh (@iamajeeth).</description>
    <link>https://dev.to/iamajeeth</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%2F664861%2Fa7908d34-7028-4476-bba4-060c9283167c.jpeg</url>
      <title>DEV Community: AjeethKumar_Ramesh</title>
      <link>https://dev.to/iamajeeth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/iamajeeth"/>
    <language>en</language>
    <item>
      <title>Everything you need to know about Git </title>
      <dc:creator>AjeethKumar_Ramesh</dc:creator>
      <pubDate>Wed, 29 Dec 2021 13:34:25 +0000</pubDate>
      <link>https://dev.to/iamajeeth/everything-you-need-to-know-about-git-1fbf</link>
      <guid>https://dev.to/iamajeeth/everything-you-need-to-know-about-git-1fbf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Move fast and break things. Unless you are breaking stuff, you are not moving fast enough. - &lt;em&gt;Mark Zuckerberg&lt;/em&gt;  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hope you all doing well, by the end of this post you will have complete knowledge to start with git and also familiar on it,&lt;/p&gt;

&lt;p&gt;⚡ &lt;strong&gt;Git&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;It is a version control tool in short this maintains your code history&lt;/em&gt;, you can take a real time scenario , Browser is a tool which stores your Browsing history&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Git Bash&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;we are going to use Git Bash which is a terminal, while installing git enable linux commands to get the full features. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;keep reading and you will know everything you need to know...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Folder creation&lt;/strong&gt;&lt;br&gt;
Create a Newfolder give it a name as you like and open in Git Bash or you can go with Command propmt,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tr50tTpu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5jgb2db9sxe7ar9661r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tr50tTpu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p5jgb2db9sxe7ar9661r.png" alt="Image description" width="344" height="129"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;your bash will look something like this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--d0MHELRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30oha658dt9aoxxu9jwa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--d0MHELRR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/30oha658dt9aoxxu9jwa.png" alt="Image description" width="491" height="68"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are in command prompt make sure your are working in right directory.&lt;br&gt;
&lt;strong&gt;Initialize git repository&lt;/strong&gt;&lt;br&gt;
Initialize git in this folder &lt;code&gt;git init&lt;/code&gt;, it will create a empty repository in your local device&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PvoVHgdL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczojc4l7hh73mychigh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PvoVHgdL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sczojc4l7hh73mychigh.png" alt="Image description" width="706" height="86"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;File creation&lt;/strong&gt;&lt;br&gt;
Create a new file and open it with vscode ,it is my opinion you can also do it with atom, sublime, it's completely up to you,  you will see master, It is a branch no need to worry about this now, I will explain in a while,&lt;br&gt;
To create a file in command prompt use &lt;code&gt;echo &amp;gt;fileName&lt;/code&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EakRJGId--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtdb7n59o68qr9m79m85.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EakRJGId--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mtdb7n59o68qr9m79m85.png" alt="Image description" width="571" height="126"&gt;&lt;/a&gt;&lt;br&gt;
It will look similar to this,&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sjEPqPDR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/84e3kn0ddtt12k8jr7r2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sjEPqPDR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/84e3kn0ddtt12k8jr7r2.png" alt="Image description" width="551" height="82"&gt;&lt;/a&gt;&lt;br&gt;
Make some changes in the file and don't forget to save it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fit6Lznx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qzms3626gavmwkklo52.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fit6Lznx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2qzms3626gavmwkklo52.png" alt="Image description" width="508" height="115"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Clean terminal&lt;/strong&gt;&lt;br&gt;
sometimes we are the situation to make our bash looks clean, type &lt;code&gt;clear&lt;/code&gt; and hit enter. For command prompt use &lt;code&gt;cls&lt;/code&gt; and give enter&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8VLj7tb2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnvq9rn3c46h5enhttpf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8VLj7tb2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnvq9rn3c46h5enhttpf.png" alt="Image description" width="602" height="58"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Check status of commit&lt;/strong&gt;&lt;br&gt;
To check the status of our commits ,the info of file use &lt;code&gt;git status&lt;/code&gt; it will show you the file which is tracked or untracked, &lt;br&gt;
tracked denotes our file is staged and untracked denotes the file is not yet staged, Obviously we didn't commit anything so no commits will appear.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NPo1uy4d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhimncz88deyrk0sw0hu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NPo1uy4d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mhimncz88deyrk0sw0hu.png" alt="Image description" width="700" height="266"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Eye and vision&lt;/strong&gt;&lt;br&gt;
Now the real part begins, to make our changes as a history there are two steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;staging the change&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;commit the change&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Stage&lt;/strong&gt;&lt;br&gt;
To bring our changes to the staging area use &lt;code&gt;git add .&lt;/code&gt;, you can replace period simple &lt;strong&gt;.&lt;/strong&gt; with your file name to be staged, generally the period simple includes all the changes in to staging area&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2dbvB_3m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2mm1ayqk9m1a2mx5524b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2dbvB_3m--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2mm1ayqk9m1a2mx5524b.png" alt="Image description" width="631" height="60"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Commit&lt;/strong&gt;&lt;br&gt;
To commit the changes of the staged file use &lt;code&gt;git commit -m "your commit message"&lt;/code&gt; and it will show the number of changes and type of changes that are insertion or deletion to the file&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0Bt7mjCt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20i54r8qth5sumait1vn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0Bt7mjCt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20i54r8qth5sumait1vn.png" alt="Image description" width="597" height="119"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This is similar to photo taking scenario in marriage reception, the people who want to take photo should come to stage , after taking photo it will save in the marriage album, &lt;strong&gt;changes we need to save as history should be staged first and then commit .&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Again we check our status it show you working tree clean , &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sfBPJx9---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8kaj2jvrwxb3yyaabgm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sfBPJx9---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l8kaj2jvrwxb3yyaabgm.png" alt="Image description" width="601" height="92"&gt;&lt;/a&gt;&lt;br&gt;
Create another file and make changes check the status &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AvhhXxFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmha8gn1nwtdpvvpfl73.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AvhhXxFy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vmha8gn1nwtdpvvpfl73.png" alt="Image description" width="700" height="202"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;stage the changes &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zg3XB2vr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8wwdfg7fjxlrptnltw93.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zg3XB2vr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8wwdfg7fjxlrptnltw93.png" alt="Image description" width="619" height="70"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Dump area&lt;/strong&gt;&lt;br&gt;
Type &lt;code&gt;git stash&lt;/code&gt;, check the status of your commits again , it shows &lt;em&gt;nothing to commit working tree clean&lt;/em&gt;, &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dNwwysIT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tyv5ohp67hpr4mmjs7f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dNwwysIT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3tyv5ohp67hpr4mmjs7f.png" alt="Image description" width="702" height="211"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Take a realtime scenario, if you are working on some kind of logical code in project and you commit the changes that might have issues, so you decide not to lose the changes but also keep it for future purpose. &lt;br&gt;
We use &lt;code&gt;git stash&lt;/code&gt;, stash is a hidden place where we can store our commits until it really needs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Incase now you need the commits from stash area now, we need to bring it in staging area again using &lt;code&gt;git stash pop&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_zl6ZDnU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0fgdlo8quu2s0iicak7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_zl6ZDnU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0fgdlo8quu2s0iicak7.png" alt="Image description" width="688" height="178"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now we can commit those changes and check status of our commits if you want, &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wjBkMq8p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86rz1bxypykaidqgh8n4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wjBkMq8p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86rz1bxypykaidqgh8n4.png" alt="Image description" width="604" height="122"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To see all the commits which are recorded as history use &lt;code&gt;git log&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yaen0sqB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3j949e9lupp3by7wxmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yaen0sqB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u3j949e9lupp3by7wxmk.png" alt="Image description" width="682" height="279"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;so far you are doing great !!!&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host on Github&lt;/strong&gt;&lt;br&gt;
To add our local folder or a local repository to Github, there are two steps&lt;/p&gt;

&lt;p&gt;1.Create a Repository&lt;br&gt;
2.Add local repo to github &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Github&lt;/strong&gt;&lt;br&gt;
To create a new repository on github, repository(repo) is simply a storage area of all our file along with the commits respectively.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create Repository&lt;/strong&gt;&lt;br&gt;
For creating a repo you should have an account in github, so signUp and then follow along with me, if you already have an account login to your account , go to repository click new.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--eKI7veFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/la0eonei3hlxl6sr6j6v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--eKI7veFW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/la0eonei3hlxl6sr6j6v.png" alt="Image description" width="880" height="117"&gt;&lt;/a&gt;&lt;br&gt;
Give a name for your repo and click Create repository&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7Q7OHVb9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s7ym699kg17dbhxqhv9m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7Q7OHVb9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s7ym699kg17dbhxqhv9m.png" alt="Image description" width="630" height="509"&gt;&lt;/a&gt;&lt;br&gt;
and now your screen will appear like this, github show you the steps here we need last two steps , because already we did up to commit, &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YdsQEhhn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqvr3wvj8gr2tb4uj1mo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YdsQEhhn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqvr3wvj8gr2tb4uj1mo.png" alt="Image description" width="880" height="286"&gt;&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Add local repo to github&lt;/strong&gt;&lt;br&gt;
Need to copy HTTPS or SSH link and work on it, word remote denotes you are working with URL, origin is basically  your github account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rS08-LYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c3ih0e2dkurqs12lmvyo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rS08-LYp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c3ih0e2dkurqs12lmvyo.png" alt="Image description" width="698" height="77"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To push the changes that we made in our local repo to github main repo&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--swGsmXbU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opsiqrzw2irf5o6p0knl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--swGsmXbU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opsiqrzw2irf5o6p0knl.png" alt="Image description" width="698" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now go to github tab and refresh the browser and the magic happens, you are able to see the changes that we made in our local repo in main repo&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Iz9nxi4q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dlxvnufv0a3mcwjtmqby.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Iz9nxi4q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dlxvnufv0a3mcwjtmqby.png" alt="Image description" width="880" height="172"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Restore commits&lt;/strong&gt;&lt;br&gt;
Change something in file1 or file2 and stage the change , now if we want to restore changes we made stage it and check status&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3AzxIKne--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rv8tposncrkl86fgiwp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3AzxIKne--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rv8tposncrkl86fgiwp.png" alt="Image description" width="609" height="234"&gt;&lt;/a&gt;&lt;br&gt;
and now use &lt;code&gt;git restore --staged fileName&lt;/code&gt; , leave &lt;code&gt;--staged&lt;/code&gt; flag to restore local changes too and check status&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aW8YQEiq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y39madjupc0ukhoysjrb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aW8YQEiq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y39madjupc0ukhoysjrb.png" alt="Image description" width="704" height="302"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Remove file&lt;/strong&gt;&lt;br&gt;
To remove the file from working tree use &lt;code&gt;git rm --cached fileName&lt;/code&gt;and check status&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CAmaDPha--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xonyx5j1am5lh8wcfcef.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CAmaDPha--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xonyx5j1am5lh8wcfcef.png" alt="Image description" width="682" height="344"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Tip&lt;/strong&gt;&lt;br&gt;
Stage the file, commit it and check status, it shows your branch is ahead of origin/master by 1 commit and inform us to push local commits, whenever these kind of situation happens do as your command line said. I know that's a lot, move forward you need few more concepts to complete.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LI_0ZdiM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay14gd9a7lsde4jnjun4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LI_0ZdiM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ay14gd9a7lsde4jnjun4.png" alt="Image description" width="606" height="160"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As the status shows we need to push the changes and check status  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FTQvsyq9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9igoia3ajy8vbuvo0k3s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FTQvsyq9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9igoia3ajy8vbuvo0k3s.png" alt="Image description" width="563" height="360"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Hosting on github&lt;/strong&gt;&lt;br&gt;
Go to your browser and refresh, you will be amazed, give an applause to yourself. Note the commit &lt;strong&gt;&lt;em&gt;back to normal&lt;/em&gt;&lt;/strong&gt; that is pushed from our local branch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zD1DCmYc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g07s26xjoi2phl1xdv1c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zD1DCmYc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g07s26xjoi2phl1xdv1c.png" alt="Image description" width="880" height="184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create another file make some changes, stage that and commit&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3sUAS2dz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0vbini09uyo906zjgr8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3sUAS2dz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0vbini09uyo906zjgr8.png" alt="Image description" width="635" height="238"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Commit records&lt;/strong&gt;&lt;br&gt;
See all the commit messages using &lt;code&gt;git log&lt;/code&gt;.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--o7sJhP7d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rd7zd4ghvnkzjd0ep343.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o7sJhP7d--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rd7zd4ghvnkzjd0ep343.png" alt="Image description" width="661" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Structure of Commit messages&lt;/strong&gt;:&lt;br&gt;
Commit messages are align on &lt;em&gt;top of one another&lt;/em&gt;, To delete commit messages you need to pick the commitID and paste in &lt;code&gt;git reset commitID&lt;/code&gt;, this will delete all the commits above the one which you pick.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Commit messages are like a bread slices&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xKn4a89r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zguix8tijdwz7xn87c4z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xKn4a89r--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zguix8tijdwz7xn87c4z.png" alt="Image description" width="668" height="445"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I want this to be clean and understandable , for that delete file3.txt in my case , you may leave it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TSGJNXXR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hnyrpjmb5gw5ltmbo3wy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TSGJNXXR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hnyrpjmb5gw5ltmbo3wy.png" alt="Image description" width="583" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To push our changes to github main repo &lt;code&gt;git push origin master&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--C7WwV4QY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yhtolcx1q487e08j76ju.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--C7WwV4QY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yhtolcx1q487e08j76ju.png" alt="Image description" width="634" height="230"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pointer&lt;/strong&gt;&lt;br&gt;
It's time to know &lt;em&gt;HEAD&lt;/em&gt;, this is simply a pointer which points to the active branch , you will understand more in a bit.&lt;br&gt;
&lt;strong&gt;Branch&lt;/strong&gt;&lt;br&gt;
Now we are going to work on branches, to create a branch use &lt;code&gt;git branch branchName&lt;/code&gt; and checkout this branch by &lt;code&gt;git checkout branchName&lt;/code&gt;, after checking out the HEAD is now point to the new branchName, here after the commits we will made is from branchName&lt;/p&gt;

&lt;p&gt;Create new branch , checkout then create a file and change something ,stage it and commit &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IwQWKZE0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7tlvyxsnetaqkst153y1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IwQWKZE0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7tlvyxsnetaqkst153y1.png" alt="Image description" width="626" height="375"&gt;&lt;/a&gt;&lt;br&gt;
Make some more commits may be two is good to go and &lt;code&gt;git log&lt;/code&gt; now&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tjpI1VxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m8lckpdue17g4ibmsuvh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tjpI1VxT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m8lckpdue17g4ibmsuvh.png" alt="Image description" width="681" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we need to push our change in local branch to github&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5vPntv8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ot5epsup1379z6mv6jfr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5vPntv8_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ot5epsup1379z6mv6jfr.png" alt="Image description" width="670" height="360"&gt;&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Newbie&lt;/strong&gt;-our branch will be on github&lt;br&gt;
Now your github screen automatically shows you &lt;em&gt;Compare &amp;amp; pull request&lt;/em&gt; , click on that&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PkogZ-Lg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rod8nhxxx67t0zjnzel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PkogZ-Lg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1rod8nhxxx67t0zjnzel.png" alt="Image description" width="880" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now click on &lt;em&gt;create pull request&lt;/em&gt; it will show you&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jDJEH_Pv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yf66ijib4stkpx5nj8ah.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jDJEH_Pv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yf66ijib4stkpx5nj8ah.png" alt="Image description" width="880" height="444"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Merge conflict&lt;/strong&gt;&lt;br&gt;
Here if there is no conflict on your change can simply click on &lt;em&gt;Merge pull request&lt;/em&gt;, conflict is popularly known as &lt;em&gt;merge conflict&lt;/em&gt; , assume that two persons working on same change and commit it, github doesn't know which change to take in this case we manually make the change on github and then we are allowed &lt;br&gt;
merge pull request &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6TqH3Ic5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wy4pk8sjb43haxpndpc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6TqH3Ic5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2wy4pk8sjb43haxpndpc.png" alt="Image description" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I know we are doing tons of things but it's worth&lt;/em&gt; . &lt;br&gt;
Now click confirm merge, there you can delete the branch if it is no longer needed &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Oi4-zNbb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6o1d31fmhi3mxcvd9l3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Oi4-zNbb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6o1d31fmhi3mxcvd9l3.png" alt="Image description" width="880" height="197"&gt;&lt;/a&gt;&lt;br&gt;
Go to your code now and refresh the page you can see there will second branch and the file along with it's commit &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nOIqlN9E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ojaya19syy4onmmn7pm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nOIqlN9E--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5ojaya19syy4onmmn7pm.png" alt="Image description" width="880" height="223"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Hope you feel confidence on yourself&lt;/em&gt; .&lt;br&gt;
&lt;strong&gt;Rebase&lt;/strong&gt;- new base&lt;br&gt;
There is a little more to do , for that need some changes in master branch may be three commits are good to go , now &lt;code&gt;git log&lt;/code&gt;, In sometimes we need to reduce number of commits as one commit, assume that you are working in login form of your project you will commit each changes and push it, those commits are points to single work so we squash all three to one commit, here we use &lt;code&gt;git rebase&lt;/code&gt;, before that we need to  pick the commit id , this has same hierarchy as &lt;code&gt;git reset&lt;/code&gt; &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jEozD9Bm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opnxjao84ngvpl9e8ix6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jEozD9Bm--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/opnxjao84ngvpl9e8ix6.png" alt="Image description" width="678" height="361"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;use this command &lt;code&gt;git rebase -i CommitID&lt;/code&gt;, &lt;em&gt;i&lt;/em&gt; is interactive most of the time we need -i flag, give enter this will show you like this&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RtUJwDwZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kegqv25fdrfrwy19cnpp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RtUJwDwZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kegqv25fdrfrwy19cnpp.png" alt="Image description" width="688" height="288"&gt;&lt;/a&gt; &lt;br&gt;
&lt;strong&gt;Squash&lt;/strong&gt;&lt;br&gt;
you can see that &lt;em&gt;Pick&lt;/em&gt; and &lt;em&gt;s&lt;/em&gt; ,we don't need to change the first pick it remains same, now if we want to squash the commit we change it to &lt;em&gt;s&lt;/em&gt;, at least the commits should have one pick ,the &lt;em&gt;s&lt;/em&gt; commits combine with the nearest &lt;em&gt;pick&lt;/em&gt; commit , it doesn't matter how many commits to be squashed , you should have one &lt;em&gt;pick&lt;/em&gt; which will be above &lt;em&gt;s&lt;/em&gt; commit . To know more you can refer &lt;a href="https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase"&gt;&lt;/a&gt;, to type in this click &lt;em&gt;i&lt;/em&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oFXyNqdS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4llsj1326fa2v5hc45t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oFXyNqdS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e4llsj1326fa2v5hc45t.png" alt="Image description" width="688" height="288"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6De8_rio--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p10j3gwailyzkj1veqid.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6De8_rio--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p10j3gwailyzkj1veqid.png" alt="Image description" width="609" height="103"&gt;&lt;/a&gt;&lt;br&gt;
By default Vim is the text editor for git, this below lines will help the non vim users, &lt;br&gt;
to escape from vim editor click &lt;code&gt;ESC&lt;/code&gt;, colon &lt;code&gt;:&lt;/code&gt; and &lt;code&gt;x&lt;/code&gt; after that you have screen like this &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KEsnH77G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6uvo205g0ivum8q2w72.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KEsnH77G--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t6uvo205g0ivum8q2w72.png" alt="Image description" width="693" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;remove the &lt;em&gt;#&lt;/em&gt; which is used to comment the line then type you commit message, after that click &lt;em&gt;ESC&lt;/em&gt; , &lt;em&gt;:&lt;/em&gt; and &lt;em&gt;x&lt;/em&gt; to exit edit mode&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NRUi47sl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5ltmx1tyo6sfn5t46oi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NRUi47sl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h5ltmx1tyo6sfn5t46oi.png" alt="Image description" width="591" height="372"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;we &lt;em&gt;finished rebasing&lt;/em&gt; now time to push it to github&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EQ_snz11--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mpkkrpsv89dq6ko0ii9a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EQ_snz11--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mpkkrpsv89dq6ko0ii9a.png" alt="Image description" width="586" height="167"&gt;&lt;/a&gt;&lt;br&gt;
here is the Squashed commit&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--my0iSYag--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3euda70li8m1wzq9an2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--my0iSYag--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x3euda70li8m1wzq9an2.png" alt="Image description" width="618" height="261"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Go to github now you can see the change in commit message&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--D3cFZhFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s40qxl3mqyt0d642d593.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D3cFZhFe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s40qxl3mqyt0d642d593.png" alt="Image description" width="880" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;git push&lt;/code&gt; -push the changes along with commit messages.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git fetch&lt;/code&gt; -fetch the recent commit messages. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;git pull&lt;/code&gt; -pull the code with commit messages, it internally operate &lt;em&gt;git fetch&lt;/em&gt; .&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To know more you can refer &lt;a href="https://www.atlassian.com/git"&gt;git atlassian&lt;/a&gt;&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Learning never fulfilled untill you practice on your own and share it with other people&lt;/em&gt; . &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Alright now you can add &lt;strong&gt;git&lt;/strong&gt; skill in profile and be happy for what you have done by reading this post. &lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>beginners</category>
    </item>
    <item>
      <title>querySelector() and querySelectorAll() </title>
      <dc:creator>AjeethKumar_Ramesh</dc:creator>
      <pubDate>Wed, 28 Jul 2021 04:01:11 +0000</pubDate>
      <link>https://dev.to/iamajeeth/queryselector-and-queryselectorall-57oi</link>
      <guid>https://dev.to/iamajeeth/queryselector-and-queryselectorall-57oi</guid>
      <description>&lt;p&gt;Let me explain the most basics of querySelector() by name. &lt;/p&gt;

&lt;p&gt;Don't skip while reading these lines&lt;/p&gt;

&lt;p&gt;$-CREATIVE EXPLANATION:&lt;/p&gt;

&lt;p&gt;Generally querySelector() and querySelectorAll() from same family which is "API".&lt;/p&gt;

&lt;p&gt;query: His most popular name is "question", he is a toddler in API family &lt;/p&gt;

&lt;p&gt;Selector: She is the mother of our toddler(query), without her(Selector) query don't know how to work or what to do.&lt;/p&gt;

&lt;p&gt;If you understand the pretty lines above go ahead to read  real concept,&lt;/p&gt;

&lt;p&gt;$-SUBJECT:&lt;/p&gt;

&lt;p&gt;querySelector(): To get the particular element from your html document,and make fancy using css or you can use it in your js codes, Which only select the first instance of the element.&lt;/p&gt;

&lt;p&gt;querySelectorAll(): Only difference between querySelector() and querySelectorAll() is it(querySelectorAll()) can select as many as instances specifically a particular group of elements having same name (.classNames) or by the tags(h1,p,div etc.,)&lt;/p&gt;

&lt;p&gt;This is my first blog, I hope it has little fun with explaining concept, //if it has any mistakes feel free to comment. &lt;/p&gt;

</description>
      <category>javascript</category>
      <category>css</category>
      <category>html</category>
    </item>
  </channel>
</rss>
