<?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: Ritvik Shukla</title>
    <description>The latest articles on DEV Community by Ritvik Shukla (@rit_s_here).</description>
    <link>https://dev.to/rit_s_here</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%2F559848%2F050998a8-dc7e-411a-94cf-0cf56c11f139.gif</url>
      <title>DEV Community: Ritvik Shukla</title>
      <link>https://dev.to/rit_s_here</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rit_s_here"/>
    <language>en</language>
    <item>
      <title>Companies looking for people to hire!</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Thu, 18 Nov 2021 11:36:30 +0000</pubDate>
      <link>https://dev.to/webxdao/companies-looking-for-people-to-hire-p0i</link>
      <guid>https://dev.to/webxdao/companies-looking-for-people-to-hire-p0i</guid>
      <description>&lt;h4&gt;
  
  
  Hey folks 👋
&lt;/h4&gt;

&lt;p&gt;We launched a new global open source community called &lt;a href="https://github.com/web3community"&gt;Web3 Community&lt;/a&gt; in September. And now Web3 Community is a group of &lt;strong&gt;250+&lt;/strong&gt; open source and blockchain enthusiasts, learning and growing together.&lt;/p&gt;

&lt;p&gt;Some companies are looking for people to hire in our community. You can also grab these opportunities. Join us on our &lt;a href="https://discord.gg/TSRwqx4K2v"&gt;Discord server&lt;/a&gt;. There will be many more such opportunities in the future.&lt;/p&gt;

&lt;p&gt;Web3 Community focuses on Web3, Blockchain, and somewhat related to decentralized applications (Dapp). &lt;/p&gt;

&lt;p&gt;We have gathered content about Blockchain Developer paths and shared it with our &lt;a href="https://github.com/web3community/blockchain-dev-path"&gt;repository&lt;/a&gt; to get you started.&lt;/p&gt;

&lt;p&gt;Join our growing community and contribute to our open source projects&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/web3community/start-here/issues/new?assignees=&amp;amp;labels=github-invitation&amp;amp;template=invitation.yml&amp;amp;title=Please+invite+me+to+the+community"&gt;GitHub Organization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/TSRwqx4K2v"&gt;Discord Server&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--lnKpsZ-J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywsfjvs53xwlkp14a5pw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lnKpsZ-J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ywsfjvs53xwlkp14a5pw.png" alt="Image" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>web3</category>
      <category>web3community</category>
      <category>blockchain</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Web 3 Community - Hacktoberfest 2021</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Fri, 01 Oct 2021 04:46:29 +0000</pubDate>
      <link>https://dev.to/webxdao/web-3-community-hacktoberfest-2021-41mi</link>
      <guid>https://dev.to/webxdao/web-3-community-hacktoberfest-2021-41mi</guid>
      <description>&lt;p&gt;&lt;a href="https://hacktoberfest.digitalocean.com/"&gt;Hacktoberfest&lt;/a&gt; starts today. This year &lt;a href="https://github.com/web3community"&gt;Web3Community&lt;/a&gt; is excited to take part in the fest for the first time. &lt;/p&gt;

&lt;p&gt;An excellent opportunity for everyone to learn more about the open-source environment, meet active contributors and win a t-shirt or have a tree planted in your name!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Hacktober?
&lt;/h2&gt;

&lt;p&gt;Hacktoberfest is a month-long celebration of open source software run by DigitalOcean. Hacktoberfest is open to everyone in our global community!. You can sign up anytime between October 1 and October 31. &lt;/p&gt;

&lt;p&gt;Making four or more contributions between October 1-31 will allow you to get a memorable t-shirt as a token of appreciation, or you can choose to have a tree planted in your name and help make Hacktoberfest 2021 more carbon neutral.&lt;/p&gt;

&lt;p&gt;You can follow this &lt;a href="https://hacktoberfest.digitalocean.com/resources/participation"&gt;guide&lt;/a&gt; for rules.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why contribute to Web3Community?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/web3community"&gt;Web3Community&lt;/a&gt; is an Open Source Community that focuses on decentralized applications, web 3, and blockchain technologies ✨&lt;/p&gt;

&lt;p&gt;Here you will get to interact with some awesome folks. 🤓&lt;br&gt;
No one is expert, we all are learning, you can join us and Learn blockchain tech together, develop some great Open Source Projects. &lt;/p&gt;

&lt;p&gt;Every single contribution matters.&lt;/p&gt;

&lt;h2&gt;
  
  
  How can I contribute?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create an issue first before creating a Pull request.&lt;/li&gt;
&lt;li&gt;Fork the Repository and create a Branch for any Issue that you are working upon.&lt;/li&gt;
&lt;li&gt;Create a Pull Request which will be promptly reviewed and suggestions would be added to improve it.&lt;/li&gt;
&lt;li&gt;Add Screenshots to help us know what changes you have done.&lt;/li&gt;
&lt;li&gt;Once you receive the approval from the team, the contribution is ready to be merged and taken into account for the overall Hacktoberfest activity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For help you can join our &lt;a href="https://discord.gg/3EN2UVE9mH"&gt;Discord&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Happy hacking!&lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>opensource</category>
      <category>web3</category>
      <category>blockchain</category>
    </item>
    <item>
      <title>MLH INIT 2022</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Sat, 26 Jun 2021 12:59:15 +0000</pubDate>
      <link>https://dev.to/rit_s_here/mlh-init-2022-566o</link>
      <guid>https://dev.to/rit_s_here/mlh-init-2022-566o</guid>
      <description>&lt;p&gt;MLH is organizing INIT 2022, where you will get an opportunity to learn and network with like minded people!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is INIT?
&lt;/h2&gt;

&lt;p&gt;INIT is a celebration for the start of the 2022 Hackathon Season! This is the first time MLH is running INIT, the format will feel familiar to those who have participated in Local Hack Day. You can expect to complete challenges, hear about BIG community announcements, chat at hacker hangouts, enjoy fun live sessions,network with people, make new memories (and memes) and of course our favorite SWAGS!!&lt;/p&gt;

&lt;p&gt;So If you are Interested, then Register here:&lt;/p&gt;

&lt;p&gt;Registration&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Register for the whole week - &lt;a href="https://hackp.ac/init"&gt;https://hackp.ac/init&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Complete the swag form - &lt;a href="https://hackp.ac/INITswag"&gt;https://hackp.ac/INITswag&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Update your address - &lt;a href="https://hackp.ac/address"&gt;https://hackp.ac/address&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Join Discord and a Guild - &lt;a href="https://discord.mlh.io/"&gt;https://discord.mlh.io/&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And  &lt;strong&gt;Eddiehub&lt;/strong&gt;  would be participating in INIT this season. Join Eddiehub guild!! You will get to learn and network with some awesome folks out there so do not miss this one!!&lt;/p&gt;

&lt;p&gt;Join our guild- &lt;a href="https://discord.mlh.io/"&gt;https://discord.mlh.io/&lt;/a&gt; (Select EddieHub as your guild)&lt;/p&gt;

&lt;p&gt;Join our community on discord also- &lt;a href="https://discord.gg/jgfaD56B"&gt;https://discord.gg/jgfaD56B&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to write a README file for your Github Profile?</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Sun, 20 Jun 2021 04:46:06 +0000</pubDate>
      <link>https://dev.to/rit_s_here/how-to-write-a-readme-file-for-your-github-profile-abl</link>
      <guid>https://dev.to/rit_s_here/how-to-write-a-readme-file-for-your-github-profile-abl</guid>
      <description>&lt;p&gt;&lt;a href="https://tech4e.medium.com/how-to-write-a-readme-file-for-your-github-profile-d386069b8d48"&gt;https://tech4e.medium.com/how-to-write-a-readme-file-for-your-github-profile-d386069b8d48&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Resources YOU can follow-&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;1. https://www.markdownguide.org/basic-syntax/#code

2. https://github.com/eddiejaoude/eddiejaoude

3. https://github.com/praveenscience/praveenscience 

4. https://rahuldkjain.github.io/gh-profile-readme-generator/

5. https://www.makeareadme.com/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>github</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Version Control System For Beginners- Part III</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Sun, 20 Jun 2021 04:32:43 +0000</pubDate>
      <link>https://dev.to/rit_s_here/version-control-system-for-beginners-part-iii-5211</link>
      <guid>https://dev.to/rit_s_here/version-control-system-for-beginners-part-iii-5211</guid>
      <description>&lt;p&gt;Work with GitHub like a pro&lt;/p&gt;

&lt;p&gt;In the previous blog we have learned about the git in detail and we have learned about the version control system in detail. In this blog we will learn about GitHub. Suppose you and your team have worked on some software for over a year and all the files are in your pc and suddenly one day water get spilled on your pc and your data your code all gone! Then? What will you do? Will you write the code from the beginning?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MU7yGGE5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cophouz5i3pmx7bqtypn.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MU7yGGE5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cophouz5i3pmx7bqtypn.gif" alt="1 r0yKeomoL5H5O2eMCEPjPA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Scary, right? To solve this problem we have GitHub! GitHub is a provider of Internet hosting for software development and version control using Git. It offers the distributed version control and source code management(SCM) functionality of Git, plus its own features. It provides access control and several collaboration features such as bug tracking,feature requests, task management,continuous integration.&lt;/p&gt;

&lt;p&gt;Creating a GitHub repo:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cEUvCi1W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l7xdrlijmrepen48q20c.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cEUvCi1W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l7xdrlijmrepen48q20c.jpg" alt="Inked1 2AhUJZ2Hwk1wp52isBZe_g_LI"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Repositories contain a collection of files of various different versions of a Project. These files are imported from the repository into the local server of the user for further updations and modifications in the content of the file.&lt;/p&gt;

&lt;p&gt;Suppose GitHub is a virtual computer and you want to make a folder where your project data can be saved along with the data of the different versions of your project, so that folder will be called a repository.This folder can be cloned to your local pc (we will learn how later in this article) for further updations and changes.&lt;/p&gt;

&lt;p&gt;How to push the changes to your repo?&lt;/p&gt;

&lt;p&gt;First make the folder on your local system in which you want to save all the files of your project. Now initialize the repository using the git init command. Now check the status of the repository using the git status command to check what are the files which are yet to be staged. Now use the git add . command to add the files to the staging area which are ready for the commit. Now git commit -m 'your message', adds the change to the local repository,which can later be pushed to the GitHub repo. We have discussed all these things in detail in my previous blog post.&lt;/p&gt;

&lt;p&gt;If you want to see what changes you have made in each commit you can use &lt;strong&gt;git log -p&lt;/strong&gt; command.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0ZcwYDea--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vaih5220s5nfflx8y4f1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0ZcwYDea--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vaih5220s5nfflx8y4f1.png" alt="1 gRYIvzZNCSNullhX2tdUiQ"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Like this you will see all the commits and the changes you have done in each commit. And I have told you earlier that using git log command you can see all the commits that are done and also who have committed that change but not what is changed for that you have to use git log -p .&lt;/p&gt;

&lt;p&gt;Now you have to generate and add the SSH key to your GitHub account. Simply adding SSH key means you are confirming GitHub that yes it is your pc and you will push code from there.&lt;/p&gt;

&lt;p&gt;To generate SSH key follow this &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--H8Jvhuvw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent%21%255B1%2520uLAaOuqsKrlFFXdaFBAjcg%255D%28https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ud9vj2a3h579zn8ltzhg.png%29" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--H8Jvhuvw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent%21%255B1%2520uLAaOuqsKrlFFXdaFBAjcg%255D%28https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ud9vj2a3h579zn8ltzhg.png%29" alt="GUIDE"&gt;&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;After adding the SSH key to your GitHub account you can use the git push -u origin master to push the changes you have done.&lt;/p&gt;

&lt;p&gt;How to pull the changes that have been done on GitHub by other contributors?&lt;/p&gt;

&lt;p&gt;We can pull the changes that have been done by the other contributors on GitHub on our local pc by the git pull command.&lt;/p&gt;

&lt;p&gt;git pull origin master is the command which you should run in Git Bash to pull the changes.&lt;/p&gt;

&lt;p&gt;How to clone any repository on your local system?&lt;/p&gt;

&lt;p&gt;$ git clone &lt;a href="https://github.com/your-username/your-repository"&gt;https://github.com/your-username/your-repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This command will clone the repository to your local pc where you can do what ever changes you want to do in the project repository.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ztz841jE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3fnj06y0k8zn8xw3i9g8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ztz841jE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3fnj06y0k8zn8xw3i9g8.png" alt="1 uLAaOuqsKrlFFXdaFBAjcg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X3xb-QsY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/niwelv2z7r3zlpfy8o8y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X3xb-QsY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/niwelv2z7r3zlpfy8o8y.png" alt="1 ShZZiIMeRtyHq0x0IyBPTg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now we will learn how to merge the two branches or more in the repository.&lt;/p&gt;

&lt;p&gt;How you will merge more than one branch of the repository to the main branch?&lt;/p&gt;

&lt;p&gt;Branch of a repository-&lt;/p&gt;

&lt;p&gt;Suppose in your school/college your teacher dictate notes very fast and you were not able to write it properly so you take out two pages from your classroom copy in which you will write the notes and then after the class you will ask from your friends if anything is wrong in that notes, and if there is not anything wrong then you will paste those pages in your copy.&lt;/p&gt;

&lt;p&gt;So here your copy is main branch of your repo and those 2 pages are the branch of your repository and your friends are the maintainers of the repo who will tell you about any mistakes. And then the pasting of those pages is just like merging the branch to the main branch after testing(finding errors and correcting it).&lt;/p&gt;

&lt;p&gt;You can see all the branches using the $ git branch command.&lt;/p&gt;

&lt;p&gt;To delete a branch after you have merged it to the main branch and the new branch is of no use you can use the command&lt;/p&gt;

&lt;p&gt;$ git branch -d branch-name&lt;/p&gt;

&lt;p&gt;but this command will not delete the branch from your GitHub account, so for that you can use the following command&lt;/p&gt;

&lt;p&gt;$ git push --delete branch-name&lt;/p&gt;

&lt;p&gt;To make a new branch and switch to that branch from master we can use the following command&lt;/p&gt;

&lt;p&gt;$ git checkout -b branch-name&lt;/p&gt;

&lt;p&gt;To delete your git repo you can use the following command, this will note remove your data but you have to start again from git init:&lt;/p&gt;

&lt;p&gt;$ rm -rf .git&lt;/p&gt;

&lt;p&gt;To switch the branch you can use the following command:&lt;/p&gt;

&lt;p&gt;$ git checkout branch-name&lt;/p&gt;

&lt;p&gt;To merge the desired branch to the main branch you can:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Switch to the master branch
Run $ git merge branch-name command
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Your branch will be merged to the master branch.&lt;/p&gt;

&lt;p&gt;To see all the branches, their last commit, and their last commit message you can run&lt;/p&gt;

&lt;p&gt;$ git branch -v&lt;/p&gt;

&lt;p&gt;To see which branch has been merged you can run&lt;/p&gt;

&lt;p&gt;$ git branch --merged &lt;/p&gt;

&lt;p&gt;To see which branch has not been merged you can run&lt;/p&gt;

&lt;p&gt;$ git branch --no-merged&lt;/p&gt;

&lt;p&gt;If you want to delete any branch which has not yet been merged but you want to delete it you can run&lt;/p&gt;

&lt;p&gt;$ git branch -D branch-name&lt;/p&gt;

&lt;p&gt;So these are all the important commands which everyone should know, you can learn more commands if you want to but i will not suggest to mug up all the commands you should know the use of each commands after that you should pick any one language and start learning it.&lt;/p&gt;

&lt;p&gt;I am ending this article with Dennis Ritchie quote:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--fz6bvvzC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yh8zo8irdsvqqmgvowj9.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fz6bvvzC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yh8zo8irdsvqqmgvowj9.jpeg" alt="1 mTyonhruOCnjL8QstQptRQ"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sources you can follow :&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--upr-SdU4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://git-scm.com/docs/gittutorial" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--upr-SdU4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://git-scm.com/docs/gittutorial" alt="SOURCE 1"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gLRWcZmS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.tutorialspoint.com/git/index.htm" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gLRWcZmS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.tutorialspoint.com/git/index.htm" alt="SOURCE 2"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ePWyQKF5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://guides.github.com/activities/hello-world/" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ePWyQKF5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://guides.github.com/activities/hello-world/" alt="SOURCE 3"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We will meet in MY next blog post.&lt;/p&gt;

&lt;p&gt;Till then,&lt;/p&gt;

&lt;p&gt;Keep Learning! Keep Hustling!!&lt;/p&gt;

&lt;p&gt;Happy Coding!   &lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Version Control System For Beginners-Part II</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Sun, 20 Jun 2021 04:06:27 +0000</pubDate>
      <link>https://dev.to/rit_s_here/version-control-system-for-beginners-part-ii-1hkn</link>
      <guid>https://dev.to/rit_s_here/version-control-system-for-beginners-part-ii-1hkn</guid>
      <description>&lt;p&gt;What is Git?&lt;/p&gt;

&lt;p&gt;Git is a type of distributed version control system used for managing and tracking the changes done to the code. Git was created by Linus Torvalds in 2005 for development of the Linux Kernel. Git is a free and open source software.&lt;/p&gt;

&lt;p&gt;Real life projects generally have multiple developers working in parallel. So a version control system like Git is needed to ensure there are no code conflicts between the developers.&lt;/p&gt;

&lt;p&gt;Software requirements changes with time. So Git allows the developers to revert and go back to the older version of the code.&lt;/p&gt;

&lt;p&gt;If you are the open-source enthusiast or you want to work in some big tech companies in the future you will need git somewhere definitely so lets understand How to install git on your pc!&lt;/p&gt;

&lt;p&gt;If you are using Windows Operating System Follow these steps:-&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click to download git for windows (&lt;a href="https://git-scm.com/downloads"&gt;https://git-scm.com/downloads&lt;/a&gt;)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AKFYxnyh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojquerojmydht9gj32nh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AKFYxnyh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ojquerojmydht9gj32nh.png" alt="1 8_bwbclOlP4bSqpWM25u0g"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;When you will click on the git installer that you have downloaded from the above link blindly click next in every step and get git installed on your pc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ibtyFQax--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibc4i1tjxr71fc1vyopd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ibtyFQax--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibc4i1tjxr71fc1vyopd.png" alt="1 FnXwHJFjEerNgvbp5Zry3g"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Tr-fNNZW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq3cjs4dty5v77i02tet.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Tr-fNNZW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uq3cjs4dty5v77i02tet.png" alt="1 3dLzxTjuX3yuXTjCvdDK7w"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For Linux Based Systems:-&lt;/p&gt;

&lt;p&gt;Open the terminal using the shortcut Ctrl+Alt+T&lt;/p&gt;

&lt;p&gt;Copy and paste these commands in the command window which you opened:-&lt;/p&gt;

&lt;p&gt;$ sudo apt install git&lt;br&gt;
$ sudo apt update&lt;br&gt;
$ sudo apt upgrade&lt;/p&gt;

&lt;p&gt;Copy and Paste these commands one by one in the terminal. You may be prompted to enter your password.&lt;/p&gt;

&lt;p&gt;How to Create a git repository (In Windows) ?&lt;/p&gt;

&lt;p&gt;You have to create the repository if the original code is in your pc. Create a folder in which you want to save the original code files. Right click inside the folder and click on Git Bash here. Git command terminal will open and you are good to go.&lt;/p&gt;

&lt;p&gt;How to Create a git repository (In Linux)?&lt;/p&gt;

&lt;p&gt;Open the terminal using the shortcut Ctrl+Alt+T&lt;/p&gt;

&lt;p&gt;To make a new folder or directory on your pc:-&lt;/p&gt;

&lt;p&gt;1.Type mkdir DIRECTORY NAME and then press Enter&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Type ls to list all the directories present on your pc&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Type cd Directory name to go to the wanted directory&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These commands will create a new directory on your pc. After that you can initialize a new git repository in that directory.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--B_5p0DSZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h27s131laz453dr0arf8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B_5p0DSZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h27s131laz453dr0arf8.png" alt="1 Iw93UpWGeHjy-qfSAEIIiQ"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To check whether git is successfully installed on your pc or not, use the command given below:-&lt;/p&gt;

&lt;p&gt;$ git --version&lt;/p&gt;

&lt;p&gt;If git was successfully installed on your computer then the output that you will get will be:&lt;/p&gt;

&lt;p&gt;git version "Version of git installed" example- git version 1.9.1&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vnTGmxav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2uli7bg9snolkl06skfv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vnTGmxav--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2uli7bg9snolkl06skfv.png" alt="1 7zB5xFesoD_4auWjrBgVFw"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you get the output like this, then git is installed successfully on your pc.&lt;/p&gt;

&lt;p&gt;Now when we have installed git on our pc we will learn How to configure your Git username and email using the following commands. These details will be associated with any commits that you create.&lt;/p&gt;

&lt;p&gt;To configure your Git username for every repository on your computer:-&lt;/p&gt;

&lt;p&gt;$ git config --global user.name "Tech4everybody"Replace our name with your own inside the inverted commas!&lt;/p&gt;

&lt;p&gt;To Confirm that you have set the Git username correctly(If you have configured username for every repository):&lt;/p&gt;

&lt;p&gt;$ git config --global user.name&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xu8XBDtT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/11fv2nvyi6winfj427le.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xu8XBDtT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/11fv2nvyi6winfj427le.png" alt="1 JuuTyUkwwP4FgaFepcnMTA"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To configure your Git username for a single repository:-&lt;/p&gt;

&lt;p&gt;$ git config user.name "Tech4everybody"Replace our name with your own inside the inverted commas!&lt;/p&gt;

&lt;p&gt;To Confirm that you have set the Git username correctly(If you have configured username for a single repository):&lt;/p&gt;

&lt;p&gt;$ git config user.name&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GQceYxCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrn9d04fvmghcdopdo49.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GQceYxCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wrn9d04fvmghcdopdo49.png" alt="1 UnV4jcqNqeCzffE8u66Hkg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To configure your Git email for every repository on your computer:-&lt;/p&gt;

&lt;p&gt;$ git config --global user.email "&lt;a href="mailto:Tech4everybody@t4e.tech"&gt;Tech4everybody@t4e.tech&lt;/a&gt;"Replace this email with your own email!&lt;/p&gt;

&lt;p&gt;To confirm that you have entered the right email id (If you have configured email for every repository):-&lt;/p&gt;

&lt;p&gt;$ git config --global user.email &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9Lo2kyPG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hqpdp69mpcxmb40m6r1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9Lo2kyPG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5hqpdp69mpcxmb40m6r1.png" alt="1 oN40lRsJrTgA47hCXMaXvg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To configure your Git email for a single repository:-&lt;/p&gt;

&lt;p&gt;$ git config user.email "&lt;a href="mailto:Tech4everybody@t4e.tech"&gt;Tech4everybody@t4e.tech&lt;/a&gt;"Replace this email with your own email!&lt;/p&gt;

&lt;p&gt;To confirm that you have entered the right email id(If you have configured email for a single repository):-&lt;/p&gt;

&lt;p&gt;$ git config user.email&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sV_KntcP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6t478284go5mbbge6yg4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sV_KntcP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6t478284go5mbbge6yg4.png" alt="1 r7zeZwDW06TTgh__jz9peg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Before learning the initialization of the git repository let’s understand&lt;/p&gt;

&lt;p&gt;What is a git repository?&lt;/p&gt;

&lt;p&gt;A Git repository is a virtual storage of your project. It allows you to save versions of your code, which you can access when needed.&lt;/p&gt;

&lt;p&gt;How to initialize a new Git repository?&lt;/p&gt;

&lt;p&gt;To create a new repository, you’ll use the git init command. git init is a one-time command you use during the initial setup of a new repository. Executing this command will create a new .git subdirectory in your current working directory. It can be used to convert an existing, unversioned project to a Git repository or initialize a new git repository. Usually this will be the first git command that you will use.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vUkRcnsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bcjjf1brn0xf34rhofd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vUkRcnsW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bcjjf1brn0xf34rhofd9.png" alt="1 VsEz9b2u5IZOVV7ZAbZu5g"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to add files to any git repository?&lt;/p&gt;

&lt;p&gt;The git add command adds the untracked files to the staging area. However, git add doesn't really affect the repository in any significant way—changes are not actually recorded until you run git commit.&lt;/p&gt;

&lt;p&gt;To add one file to staging(Index) area:&lt;/p&gt;

&lt;p&gt;$ git add Filename&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--slDs_Tem--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i68h6r4jxvn090a6ue5y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--slDs_Tem--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i68h6r4jxvn090a6ue5y.png" alt="1 b4ueDLmyLPdxduzI1iQ9LQ"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To add more than one file to staging(Index) area:&lt;/p&gt;

&lt;p&gt;$ git add .&lt;/p&gt;

&lt;p&gt;Git status command is used to show modified files of the working directory, staged for your next commit.&lt;/p&gt;

&lt;p&gt;$ git status&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dPTdXuPn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gp2hjlketv6znt1vjzz8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dPTdXuPn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gp2hjlketv6znt1vjzz8.png" alt="1 5ESedTvao1jykffUybv6tg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How to save your changes to the local repository?&lt;/p&gt;

&lt;p&gt;The git commit command makes sure that the changes are saved to the local repository. The command “git commit –m ” allows you to describe everyone and help them understand what has happened.&lt;/p&gt;

&lt;h1&gt;
  
  
  Commits all the changed files with “Commit Message”
&lt;/h1&gt;

&lt;p&gt;$ git commit -m "Commit message"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--217CVqtQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mq4rv2hkduk1y659mrds.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--217CVqtQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mq4rv2hkduk1y659mrds.png" alt="1 eI3X0b_9ZDwOazBI5ezlkg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can use — amend flag with the git commit command to commit again for changing the latest commit. Running this will overwrite not only your recent commit message but, also, the hash of the commit. It won’t change the date and time of the commit.&lt;/p&gt;

&lt;p&gt;It will also allow you to add other changes that you forget to make using the git add command.&lt;/p&gt;

&lt;p&gt;$ git add "Changed file name" &lt;/p&gt;

&lt;p&gt;$ git commit --amend -m "message"&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Gufbwvjo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m7km04vm1zxg0p7kgnfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Gufbwvjo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m7km04vm1zxg0p7kgnfh.png" alt="1 f4BBW6oxHUuMR1ttWR8EVw"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sblg-6YO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjtmdvqfzjsp3uvtlhr7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sblg-6YO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjtmdvqfzjsp3uvtlhr7.png" alt="1 l_Dx13MTVsBCVk6IrcB-6w"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can see in the above image that the commit date and time is same for both the initial and the amended commit.&lt;/p&gt;

&lt;p&gt;To get a record of the commits in a git repository:-&lt;/p&gt;

&lt;p&gt;The git log command shows a list of all the commits made to a repository. You can see the hash of each git commit, the message associated with each commit, and more metadata. This command is useful for displaying the history of a repository.&lt;/p&gt;

&lt;p&gt;$ git log&lt;/p&gt;

&lt;p&gt;How to unstage any file from the staging area?&lt;/p&gt;

&lt;p&gt;$ git reset filename&lt;/p&gt;

&lt;p&gt;To know about the changes which are not staged you can use git diff command:-&lt;/p&gt;

&lt;p&gt;$ git diff&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4kt1nrPS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eva7kajqfwzcm1tyhh6z.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4kt1nrPS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eva7kajqfwzcm1tyhh6z.png" alt="1 PJeF_XI8M9CEIxHNzy6Wfg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here the lines in red are those which I removed and the lines in green are those which I added.&lt;/p&gt;

&lt;p&gt;To know about the changes which are staged but not committed you can use the command given below:-&lt;/p&gt;

&lt;p&gt;$ git diff --staged&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aTSWUTxK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-%250Auploads.s3.amazonaws.com/uploads/articles/kfhey31esmh27emhuj96.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aTSWUTxK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-%250Auploads.s3.amazonaws.com/uploads/articles/kfhey31esmh27emhuj96.png" alt="1 w5x90FADKowO19yIEaf0gg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--u8J_KcGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nqiuzi12m9mk390qzqb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--u8J_KcGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0nqiuzi12m9mk390qzqb.png" alt="1 w5x90FADKowO19yIEaf0gg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So in this blog, we have learned the most important and most used git commands. In the next blog, we will learn more about Github, and how to clone a repository, how to create a branch, and how to merge them, and many more things.&lt;/p&gt;

&lt;p&gt;After my third blog on Version Control Systems you will be ready to contribute to the open source community.&lt;/p&gt;

&lt;p&gt;Ending this article with Steve Jobs Quote&lt;/p&gt;

&lt;p&gt;If you found this article useful, follow me for more!&lt;/p&gt;

&lt;p&gt;Happy Coding!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Version Control System For Beginners- Part I</title>
      <dc:creator>Ritvik Shukla</dc:creator>
      <pubDate>Sun, 20 Jun 2021 03:36:58 +0000</pubDate>
      <link>https://dev.to/rit_s_here/version-control-system-for-beginners-part-i-462p</link>
      <guid>https://dev.to/rit_s_here/version-control-system-for-beginners-part-i-462p</guid>
      <description>&lt;p&gt;Suppose you are working on any project with the team of 100 software developers and suddenly one day your pc stop working and all your data get deleted by mistake and all the data of the project was in your pc. Then?? What will you do?? Isn't it a big problem? &lt;/p&gt;

&lt;p&gt;And also it will be very difficult for everyone to contribute to the project remotely if the data of the project will be divided! So VCS and Github are there to solve our these problems! we have our saviour with us Git &amp;amp; Github!&lt;/p&gt;

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

&lt;p&gt;Git is a version control system! Now let's understand version control system and it's type in detail first.&lt;/p&gt;

&lt;p&gt;Version control systems are used in managing and in keeping track of the changes done to the source code over time. As you know in making of the software collaboration of more than one developer is there, so it is important to track the changes done to the source code.&lt;/p&gt;

&lt;p&gt;Using a version control system if a mistake is made by anyone in the source code you can return to the previous version easily. You can take the example of Open-Source Projects where more than one developers from different parts of the world contribute to a single project, and each one of them contributes to the project in some specific kind either by finding a bug in the code or by adding some new feature or by updating the README section.&lt;/p&gt;

&lt;p&gt;The version control system assigns a unique hash code for every modification done to the source code. It is useful in reverting to the previous version of the code.&lt;/p&gt;

&lt;p&gt;If you do not use any kind of version control system you will run into problems like not knowing what changes you have done to code and when you have done it. If you have done any mistake in the code, the code will not work properly and you will not be able to revert to the previous version which was working as you were not tracking it. Using the version control system you can also check which lines of code are added and which are deleted. This can help you identify the problem in the code more easily.&lt;/p&gt;

&lt;p&gt;The version control system mentions the date and time also, on which the modification was done. It also mentions the name and email id of the contributor contributing to the project.&lt;/p&gt;

&lt;p&gt;Suppose you are working with a team of other five developers on the same project and you want to add some new feature to it but you are not confident that it will work properly or not, you are afraid that if it doesn’t work properly then the development process will stop. Here the version control system helps , Version control system gives us the comfort to create a separate branch for every contributor who wants to add something new or wants to make changes in the code and when they work properly, they are merged in the main code.&lt;/p&gt;

&lt;p&gt;What are the different types of VCS?&lt;/p&gt;

&lt;p&gt;There are three types of the Version control system:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Local Version Control System
Centralized Version Control System
Distributed Version Control System
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Local Version Control System:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In simple language, the Local Version Control System is the system in which you track all the files and store them on your computer.&lt;/p&gt;

&lt;p&gt;You are feeling bored! Right? I can understand!!&lt;/p&gt;

&lt;p&gt;Let’s take an example to understand in a better way:-&lt;/p&gt;

&lt;p&gt;Let’s suppose you have written 100 lines of code and you saved it with the name “Folder 1” and then after someday you thought of adding or changing something in it but you don’t want to disturb the version 1 directory so you created a new directory “Folder 2” and copied all the code of version 1 in it and started working on it, but after the modification, you saw that the code is not working properly, so you revert to version 1 directory. This is how you can keep track of the files using the Local Version Control System.&lt;/p&gt;

&lt;p&gt;Interesting! Right?&lt;/p&gt;

&lt;p&gt;This approach is very common and simple but it is also incredibly error-prone. It is easy to forget which directory are you in and in which directory you have to make the change so there is a high chance of error.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Centralized Version Control System-&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;As you know that to make a software, collaboration is very much necessary and for collaboration there should be a communication between the contributors contributing to the project. Using the centralized version control system everyone contributing to the project knows to some extent what changes others have done.&lt;/p&gt;

&lt;p&gt;In the Centralized Version Control System, there is only one repository on the server containing all the versions of the code. Everyone who wants to make any change in the main code on the server, they have to commit the changes they want to reflect in the central repository. To view the changes done to the repository, other users have to update it from the server.&lt;/p&gt;

&lt;p&gt;Suppose four developers are working together on the same project. Developer “A ” wants to make changes in the project, so first, he made those changes in his working copy on his local system, and after he is confident about the working, he has to commit those changes to reflect them in the central repository. Now to see those changes in their working copy other contributors contributing to the project have to update it from the central server.&lt;/p&gt;

&lt;p&gt;So what is the problem in using CVCS for version control? Do you Know?&lt;/p&gt;

&lt;p&gt;No? Okay! No problem, we will learn together :)&lt;/p&gt;

&lt;p&gt;The major drawback of this type of version control system is that all the versions of the code are on the server so if it goes down during the period of development, collaboration will stop.&lt;/p&gt;

&lt;p&gt;If the hard disk of the central database becomes corrupted and you have not kept any backup of the code files anywhere, You lose everything and you will have to start from the beginning.&lt;/p&gt;

&lt;p&gt;This does not seem to be a very big problem to you. Right?&lt;/p&gt;

&lt;p&gt;But when you’ll work in some big tech giants where code is in millions of lines.&lt;/p&gt;

&lt;p&gt;Then?&lt;/p&gt;

&lt;p&gt;Yes!!! You’re Right!! Then It will be a big problem!!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Distributed Version Control System:&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Distributed version control systems contain multiple repositories. Each user has their working copy where they can make the changes without disturbing the main code. Every clone has a full backup of data. Using Distributed Version Control you can work jointly on the same project with the different group of people. When you will commit, it will reflect those changes in your local repository and you have to push the changes to make them visible in the central repository, and to see other’s changes you have to pull it from the central repository.&lt;/p&gt;

&lt;p&gt;Git is a type of Distributed Version Control System which is mostly used nowadays. Git is widely used in the open-source sector. Using Git, it becomes easy for anyone from anywhere to contribute and it becomes easy to manage the code.&lt;/p&gt;

&lt;p&gt;So, let’s summarize what we have learnt till now:&lt;/p&gt;

&lt;p&gt;Using a version control system it becomes easy for anyone from anywhere to contribute to the project.&lt;/p&gt;

&lt;p&gt;Using a version control system one can make changes in the same repository at the same time without affecting the development process.&lt;/p&gt;

&lt;p&gt;Using a version control system it becomes easy to revert to the previous version if you have made a mistake.&lt;/p&gt;

&lt;p&gt;Using a version control system it becomes easy to identify the mistake in the code.&lt;/p&gt;

&lt;p&gt;Using a version control system you can know what changes have been made to the code, who have made them and when it was made.&lt;/p&gt;

&lt;p&gt;So, we have completed the basics of version control systems in this blog.&lt;/p&gt;

&lt;p&gt;In my next blog post we will learn about Git in detail!&lt;/p&gt;

&lt;p&gt;Excited! Right? I’m also excited…&lt;/p&gt;

&lt;p&gt;So, for now I’m ending this blog post.&lt;/p&gt;

&lt;p&gt;If you want to connect with me follow me , we will meet again in my next blog post :)&lt;/p&gt;

&lt;p&gt;Till then,&lt;/p&gt;

&lt;p&gt;Happy Coding!&lt;/p&gt;

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