<?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: Chaitanya Chaturvedi</title>
    <description>The latest articles on DEV Community by Chaitanya Chaturvedi (@chaitanya4vedi).</description>
    <link>https://dev.to/chaitanya4vedi</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%2F431089%2Fef4f4d25-7107-4b13-ac9d-9b783b4a8835.jpg</url>
      <title>DEV Community: Chaitanya Chaturvedi</title>
      <link>https://dev.to/chaitanya4vedi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chaitanya4vedi"/>
    <language>en</language>
    <item>
      <title>Beginners Guide to Bash Shell Scripting</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Mon, 19 Oct 2020 07:04:11 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/beginners-guide-to-bash-shell-scripting-1h8f</link>
      <guid>https://dev.to/chaitanya4vedi/beginners-guide-to-bash-shell-scripting-1h8f</guid>
      <description>&lt;h4&gt;
  
  
  BASH SHELL SCRIPTING
&lt;/h4&gt;

&lt;h4&gt;
  
  
  What is Bash?
&lt;/h4&gt;

&lt;p&gt;Bash stands for ‘Bourne Again Shell’. Bash is a shell or command language interpreter for the GNU operating system. (GNU is basically a project to create a free operating system, wholly consisting of free softwares. It was initiated by Richard Stallman and was publicly announced in september 27, 1983. The Linux we use today is actually GNU-Linux). It is the default login shell for linux and most of the operating systems. You can also call it a command processor as it runs in a text window and takes commands from the user, executes it and performs actions accordingly. It can also read and execute commands from a file, called shell script. Like Unix shells, Bash also supports - wildcard matching, piping, here documents, command substitution, variables and control structures.&lt;/p&gt;

&lt;h4&gt;
  
  
  What is Bash Shell Scripting?
&lt;/h4&gt;

&lt;p&gt;Bash (like many other shells) also has the ability to run an entire script of commands, known as a "Bash shell script" (or "Bash script" or "shell script" or just "script"). A script might contain just a very simple list of commands — or even just a single command — or it might contain functions, loops, conditional constructs, and all the other hallmarks of imperative programming. In effect, a Bash shell script is a computer program written in the Bash programming language. &lt;/p&gt;

&lt;h5&gt;
  
  
  Different Shells Available:
&lt;/h5&gt;

&lt;p&gt;Sh shell, C Shell, Z Shell, Fish Shell, Korn Shell, etc.&lt;/p&gt;

&lt;h5&gt;
  
  
  Getting Started with Shell scripting
&lt;/h5&gt;

&lt;p&gt;All you need is a plain text editor which usually comes with each and every operating system.&lt;br&gt;
Example:&lt;br&gt;
Nano, Vim or Vi, emacs, gedit, kate, text-editor, notepad, etc.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 1:
&lt;/h4&gt;

&lt;p&gt;Open up a text-editor. Create a new file. Name it anything you want and save it with .sh extension. &lt;br&gt;
Now the first line of a shell script should always start with a sha-bang or hash-bang =&amp;gt; ‘#!’. It is a good practice to do this. This tells the system that it is a shell script. After that we give the location of the shell we write our script for, in this case it is Bash =&amp;gt; ‘/bin/bash’&lt;/p&gt;

&lt;p&gt;This is how it looks like:&lt;br&gt;
&lt;code&gt;# !/bin/bash&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note: ‘#’ without ‘!’ is used to write comments in shell scripts. Everything after ‘#’ in that line is ignored by the system.&lt;/p&gt;

&lt;h4&gt;
  
  
  Step 2:
&lt;/h4&gt;

&lt;p&gt;Let's write a simple hello world shell script&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#!/bin/bash&lt;/code&gt;&lt;br&gt;
 &lt;code&gt;#Usage: Hello World Bash Shell Script&lt;/code&gt;&lt;br&gt;
 &lt;code&gt;#Author: Chaitanya Chaturvedi&lt;/code&gt;&lt;br&gt;
 &lt;code&gt;#-------------------------------------------------&lt;/code&gt;&lt;br&gt;
 &lt;code&gt;#print it&lt;/code&gt; &lt;br&gt;
 &lt;code&gt;echo "Hello!, World."&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now save the file. Open the terminal. Go to the locations where you script is located.&lt;br&gt;
For the script to be executed by Bash, we first need to make it executable. We do that by &lt;br&gt;
&lt;code&gt;$chmod +x script-name.sh&lt;/code&gt;&lt;br&gt;
And then execute it by&lt;br&gt;
&lt;code&gt;$./script-name.sh&lt;/code&gt;&lt;br&gt;
Output:&lt;br&gt;
&lt;code&gt;Hello!, World.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Before we move forward lets get familiar with some shell commands and variables.&lt;/p&gt;

&lt;p&gt;Echo is used to print text to the screen.&lt;br&gt;
Example:&lt;br&gt;
&lt;code&gt;echo “Hello!, World”&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Read is used to get input from the user&lt;br&gt;
Example:&lt;br&gt;
&lt;code&gt;read n&lt;/code&gt;&lt;br&gt;
Where n is a variable&lt;/p&gt;

&lt;p&gt;We can declare a variable like&lt;br&gt;
&lt;code&gt;var_name=“Hello!, World”&lt;/code&gt;&lt;br&gt;
And then can use it anywhere like&lt;br&gt;
&lt;code&gt;echo $var_name&lt;/code&gt;&lt;br&gt;
Output:&lt;br&gt;
&lt;code&gt;Hello!, World&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;We can create new file using touch&lt;br&gt;
Example:&lt;br&gt;
&lt;code&gt;touch “new_file”&lt;/code&gt;&lt;br&gt;
This will create a file named new_file&lt;/p&gt;

&lt;p&gt;To be continued.&lt;/p&gt;

&lt;p&gt;You can follow me on &lt;a href="https://twitter.com/chaitanya4vedi"&gt;twitter&lt;/a&gt; and &lt;a href="https://instagram.com/chaitanya4vedi"&gt;instagram&lt;/a&gt;. I post informative content there as well.&lt;/p&gt;

&lt;p&gt;Thanks for reading :)&lt;/p&gt;

</description>
      <category>bash</category>
      <category>linux</category>
      <category>shell</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>A List of Essential Git Queries</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Sun, 27 Sep 2020 11:49:14 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/a-list-of-essential-git-queries-78f</link>
      <guid>https://dev.to/chaitanya4vedi/a-list-of-essential-git-queries-78f</guid>
      <description>&lt;h3&gt;
  
  
  1) How to submit a pull request?
&lt;/h3&gt;

&lt;h5&gt;
  
  
  A) Fork the Repository
&lt;/h5&gt;

&lt;p&gt;Go to the repository where you want to contribute. Click on the fork button at the top right corner to fork the repository. This will create a copy of that repository under your GitHub user account.&lt;/p&gt;

&lt;h5&gt;
  
  
  B) Clone the Repository to your system
&lt;/h5&gt;

&lt;p&gt;After you fork the repo you will be automatically redirected to the copy of that repo under your user account. If not go to the repositories section under your user account and look for the same repo as the one you forked. &lt;br&gt;
Now click at the green button named as code at the top right corner. Copy the https link.&lt;br&gt;
Now open a terminal and go to the desired location on your system where you want to clone the repo. Now enter &lt;code&gt;git clone&lt;/code&gt; and paste the copied URL.&lt;br&gt;
&lt;code&gt;$ git clone &amp;lt;URL&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  C) Create a new branch
&lt;/h5&gt;

&lt;p&gt;Now navigate to the cloned repo using terminal like &lt;code&gt;cd repo_name&lt;/code&gt;. Now you are at the &lt;code&gt;master&lt;/code&gt; branch of the cloned repo. We leave the master branch as it is and create a new branch where we will do the desired work on the repo. So to create a new branch enter &lt;code&gt;git checkout -b new_branch_name&lt;/code&gt;. This will create the repo and switch you to the created repo. Now do the desired changes here.&lt;/p&gt;

&lt;h5&gt;
  
  
  D) Push the repo
&lt;/h5&gt;

&lt;p&gt;After you have finished committing changes its time to push those changes. Now to push the repo to the GitHub server enter&lt;br&gt;
&lt;code&gt;$ git push -u origin new-branch_name&lt;/code&gt;&lt;/p&gt;

&lt;h5&gt;
  
  
  E) compare &amp;amp; pull request
&lt;/h5&gt;

&lt;p&gt;Now go the the forked repo under your user account and there you will see a green button at the top right corner saying &lt;code&gt;compare &amp;amp; pull request&lt;/code&gt;. Click on that and then you will be taken to open a pull request page. There you enter title and description to their respective fields and then click on create pull request to create a pull request.&lt;/p&gt;

&lt;h3&gt;
  
  
  2) How to undo last commit?
&lt;/h3&gt;

&lt;p&gt;To undo the last commit Enter&lt;br&gt;
&lt;code&gt;$ git reset --soft Head~&lt;/code&gt;&lt;br&gt;
You can use &lt;code&gt;git log --oneline&lt;/code&gt; to see previous commits`&lt;/p&gt;

&lt;p&gt;The Hierarchy of Head commits is as follows&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;code&gt;$ git log --oneline&lt;br&gt;
 3fad532  Last commit   (HEAD)&lt;br&gt;
 3bnaj03  Commit before HEAD   (HEAD~1)&lt;br&gt;
 vcn3ed5  Two commits before HEAD   (HEAD~2)&lt;/code&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3) How to revert a specific commit that has been pushed?
&lt;/h3&gt;

&lt;p&gt;use &lt;code&gt;git log&lt;/code&gt; to find the commit. Then do&lt;br&gt;
&lt;code&gt;$ git revert &amp;lt;commit id&amp;gt;&lt;/code&gt;. But this does auto commit. So if you just want the files and no auto commit then do&lt;br&gt;
&lt;code&gt;$ git revert -n &amp;lt;commit id&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4) How to rollback to a specific commit?
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;$git reset --soft &amp;lt;commit id&amp;gt;&lt;/code&gt; will rollback to the desired commit id leaving your local code and local history exactly the same.&lt;br&gt;
&lt;code&gt;$git reset --hard &amp;lt;commit id&amp;gt;&lt;/code&gt; will rollback to the desired commit id making your local code and local history the same as it was at that specific commit. But then it would fail if you try to push as it has been detached from the head now.&lt;/p&gt;

&lt;h3&gt;
  
  
  5) How to switch branches without committing?
&lt;/h3&gt;

&lt;p&gt;stage the changes by &lt;code&gt;git stage .&lt;/code&gt; Then do&lt;br&gt;
&lt;code&gt;$ git stash&lt;/code&gt; This will save your changes and make your directory clean. Now switch branches. To see which stashes you have stored enter &lt;code&gt;git stash list&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ git stash list&lt;br&gt;
stash@{0}: WIP on master: 049d078 Create index file&lt;br&gt;
stash@{1}: WIP on master: c264051 Revert "Add file_size"&lt;br&gt;
stash@{2}: WIP on master: 21d80a5 Add number to log&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;use &lt;code&gt;git stash apply&lt;/code&gt; to apply the most recent stash or specify older stashes by &lt;code&gt;git stash apply stash@{2}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading :)&lt;br&gt;
Stay tuned there is more to come.&lt;/p&gt;

&lt;p&gt;Also Follow me on &lt;a href="https://twitter.com/chaitanya4vedi"&gt;Twitter&lt;/a&gt; and &lt;a href="https://instagram.com/chaitanya4vedi"&gt;Instagram&lt;/a&gt; I post informative content daily.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>codenewbie</category>
      <category>100daysofcode</category>
    </item>
    <item>
      <title>Meta Tags for SEO: A Simple Guide</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Thu, 17 Sep 2020 13:22:50 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/meta-tags-for-seo-a-simple-guide-1l4g</link>
      <guid>https://dev.to/chaitanya4vedi/meta-tags-for-seo-a-simple-guide-1l4g</guid>
      <description>&lt;p&gt;So what are meta tags? Meta tags are basically tags that enclose meta data that are used in the HTML of a webpage. As i said it is basically a meta data so that means what ever you enclose within a meta tag will not appear on the webpage itself but will be used by the search engines and social medias like a meta data for the webpage. Why are they Important for SEO? They are very important for SEO because the data enclosed within different types of these meta tags determine your webpage's rank in the search engines. Well definitely there are other factors that counts in the SEO of a webpage like the content itself and then the page speed, security, Domain age, URL, Links, etc. But as a developer your part in the improvement of SEO would be to be give perfect and proper meta tags. So today i bring to you these essential meta tags that you should know and use in order to improve the SEO of your webpage. Lets see:&lt;/p&gt;

&lt;h3&gt;
  
  
  1) &lt;code&gt;&amp;lt;meta charset="character_set"/&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;You may be using different types fonts, smileys, symbols and emojis in your webpage which may be using one or more special characters which would be defined in a particular character encoding but not in the other you are using. And that may lead to the unsuitable display of desired contents in the webpage. So it is always a good idea to define a character encoding at the top of a webpage and that too which covers majority of characters so as to ensure your desired content is displayed properly. Generally UTF-8 is preferred as it covers almost all character encoding and almost all the browsers supports it.&lt;br&gt;
&lt;code&gt;&amp;lt;meta charset="UTF-8"&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2) &lt;code&gt;&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;From HTML5 developers got the control over the viewport of a webpage. The viewport meta tag basically lets you decide the dimension and scaling of your webpage when it opens up in a browser. &lt;code&gt;width=device-width&lt;/code&gt; tells the browser to follow the screen width of the device where the page is displayed. &lt;code&gt;initial-scale=1.0&lt;/code&gt; tell the browser to display the page with the following initial zoom level.&lt;/p&gt;

&lt;h3&gt;
  
  
  3) &lt;code&gt;&amp;lt;meta name="title" content="title of the page"&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The title tag as it sounds is basically used to define the title of a webpage. The more brief, better and accurate the title, the better the chance of high page rank.&lt;/p&gt;

&lt;h3&gt;
  
  
  4) &lt;code&gt;&amp;lt;meta name="description" content="description of the webpage content"&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The description tag as it sounds is basically used to describe the content of a webpage. The more brief and better the description, the better the chance of high page rank.&lt;/p&gt;

&lt;h3&gt;
  
  
  5) &lt;code&gt;&amp;lt;meta name="keywords" content="HTML, CSS, JavaScript"&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Again, the keyword tag as it sounds is basically used to provide keywords to the  the search engines so that your webpage would be listed to the results whenever there will be a search that has the following keywords.&lt;/p&gt;

&lt;h3&gt;
  
  
  6) &lt;code&gt;&amp;lt;meta name="author" content="John Doe"&amp;gt;&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Again, the author tag as it sounds is basically used to provide the search engine with name of the author of the webpage. Useful in case if the page tile and author both are same have the same name.&lt;/p&gt;

&lt;p&gt;Also in case if your website is shared in social medias, there also you would want your website to have all the essential contents being displayed in the shared post. Again there are a lot of meta tags the let you control what to display in the shared post of your webpage but i will i will show you the following four important meta tags.&lt;/p&gt;

&lt;h4&gt;
  
  
  1) &lt;code&gt;&amp;lt;meta property="og:title" content="John Doe Agency"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2) &lt;code&gt;&amp;lt;meta property="og:description" content="Providing SEO solutions"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  3) &lt;code&gt;&amp;lt;meta property="og:image" content="http://johndoe.com/thumbnail.jpg"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4) &lt;code&gt;&amp;lt;meta property="og:url" content="http://johndoe.com/index.html"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;The og or open graph protocol is basically used by facebook while twitter has its own meta tags that just has 'twitter' prefixed instead of og&lt;/p&gt;

&lt;h4&gt;
  
  
  1)&lt;code&gt;&amp;lt;meta name="twitter:title" content="John Doe Agency"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  2)&lt;code&gt;meta name="twitter:description" content=" Providing SEO solutions"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  3)&lt;code&gt;&amp;lt;meta name="twitter:image" content=" http://johndoe.com/thumbnail.jpg"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

&lt;h4&gt;
  
  
  4)&lt;code&gt;&amp;lt;meta name="twitter:card" content="summary_large_image"&amp;gt;&lt;/code&gt;
&lt;/h4&gt;

</description>
      <category>webdev</category>
      <category>html</category>
      <category>codenewbie</category>
      <category>seo</category>
    </item>
    <item>
      <title>Important Linux Commands: Linux Commands You Must Know</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Tue, 01 Sep 2020 04:52:03 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/important-linux-commands-linux-commands-you-must-know-5hi2</link>
      <guid>https://dev.to/chaitanya4vedi/important-linux-commands-linux-commands-you-must-know-5hi2</guid>
      <description>&lt;p&gt;In 1991 when Linus Torvalds for the first time publicly shared his newly made kernel completely free from minix code, then even he was not aware of its capabilities in bringing the revolution in the software industry at that time. The open source we hear today was not much popular back then, not until linux was founded. You see, Git a very popular VCS(Version Control System) was founded by the same guy to maintain the linux kernel. People loved this operating system not just because it was free but because it brought freedom to the computer and software industry. Linux can be customized for specific users and for specific hardware requirements.&lt;br&gt;
According to a survey by &lt;a href="https://w3techs.com/technologies/details/os-linux"&gt;w3techs.com&lt;/a&gt; in 2020, Almost 29.7% of the websites uses linux operating system. Around 49% of all the developers uses linux as their daily drive for development purpose according to survey from 2018-20 by &lt;a href="https://www.statista.com/statistics/869211/worldwide-software-development-operating-system/"&gt;statista.com&lt;/a&gt;. Linux is a popular choice among developers and tech enthusiasts. So today i bring to you these essential linux commands that you should know no matter you are an experienced developer or a newbie. Lets have a look -&lt;/p&gt;

&lt;h3&gt;
  
  
  1) ls [OPTION]... [FILE]...
&lt;/h3&gt;

&lt;p&gt;ls stands for list. ls command is used to list the contents of a directory or information about a file. By default ls(without any options) lists the contents of the directory you are currently in.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ls&lt;/code&gt; to list contents of the current directory&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ls -a&lt;/code&gt; to list all the contents of the directory including hidden ones&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ls -A&lt;/code&gt; to list almost all the files (ignoring &lt;code&gt;.&lt;/code&gt; and &lt;code&gt;..&lt;/code&gt; implied files)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ls -Al&lt;/code&gt; to list almost all the files (ignoring &lt;code&gt;.&lt;/code&gt; and &lt;code&gt;..&lt;/code&gt; implied files) together with their author name &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ls -bl&lt;/code&gt; to list files according to the size together with their author name&lt;/p&gt;

&lt;h3&gt;
  
  
  2) pwd [LP]
&lt;/h3&gt;

&lt;p&gt;pwd stands for present working directory. This command is used to print the path of the current working directory. This command has only two options &lt;code&gt;-L&lt;/code&gt; and &lt;code&gt;-P&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;pwd&lt;/code&gt; to print the path of the current working directory&lt;/p&gt;

&lt;h3&gt;
  
  
  3) mkdir [OPTION]... DIRECTORY...
&lt;/h3&gt;

&lt;p&gt;mkdir stands for make directory. This command is used to create one or more than one directories if they do not already exists.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;mkdir john&lt;/code&gt; to create a directory named john&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;mkdir john doe&lt;/code&gt; to create two directories named john and doe&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;mkdir -m [FILE MODE] john&lt;/code&gt; to create a directory named john with a specified file mode&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;mkdir -v [DIRECTORY NAME]&lt;/code&gt; to create a directory  and print a message.&lt;/p&gt;

&lt;h3&gt;
  
  
  4) echo [SHORT-OPTION]... [STRING]...
&lt;/h3&gt;

&lt;p&gt;This command is used to print a piece of text on the screen.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;echo [MESSAGE]&lt;/code&gt; to print the message on a new line&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;echo -n [MESSAGE]&lt;/code&gt; to print the message on the same line as the pointer&lt;/p&gt;

&lt;h3&gt;
  
  
  5) whoami [OPTION]...
&lt;/h3&gt;

&lt;p&gt;This command is used to print the name of the user associated with the current user ID. This command take only two arguments - &lt;code&gt;--help&lt;/code&gt; and &lt;code&gt;--version&lt;/code&gt;.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;whoami&lt;/code&gt; to print the username of the current user&lt;/p&gt;

&lt;h3&gt;
  
  
  6) cd [-L|[-P [-e]] [-@]] [dir]
&lt;/h3&gt;

&lt;p&gt;cd stands for change directory. This command is used to change the working directory. By default this command changes from current directory to home directory.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;cd Downloads&lt;/code&gt; to move from current directory to Download directory&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;cd&lt;/code&gt; to move from current directory to home directory&lt;/p&gt;

&lt;h3&gt;
  
  
  7) cat [OPTION]... [FILE]...
&lt;/h3&gt;

&lt;p&gt;cat stands for concatenate. This command is used to print the contents of a file to the screen. Without any option cat is used to print output from the standard input.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;cat john.txt&lt;/code&gt; to print the content of file john.txt to the screen&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;cat -s john.txt&lt;/code&gt; to print the content of john.txt by suppressing repeated empty output lines&lt;/p&gt;

&lt;h3&gt;
  
  
  8) top -hv|-bcEHiOSs1 -d secs -n max -u|U user -p pid -o fld -w [cols]
&lt;/h3&gt;

&lt;p&gt;This command is used to display processes of a linux system. This command takes several options. Refer man page for a full description.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;top&lt;/code&gt; to display linux processes to the screen&lt;/p&gt;

&lt;h3&gt;
  
  
  9) man [man options] [[section] page ...] ...
&lt;/h3&gt;

&lt;p&gt;man stands for manual. This command is probably the most useful but unfortunately a bit neglected command. A beginner should always first refer to the man pages for a total description,options and usage of a specific command.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;man ls&lt;/code&gt; to the open manual page of ls command&lt;/p&gt;

&lt;h3&gt;
  
  
  10) kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
&lt;/h3&gt;

&lt;p&gt;This command as it sounds is used to kill a specific process by its PID, signal name or signal number.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;kill -15 [PID]&lt;/code&gt; to soft kill the process of the following PID&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;kill -9 [PID]&lt;/code&gt; to immediately kill the process of the following PID&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;killall [PROCESS NAME]&lt;/code&gt; to kill all the instances of the following process owned by the current user&lt;/p&gt;

&lt;h3&gt;
  
  
  11) more [options] ...
&lt;/h3&gt;

&lt;p&gt;This command is used to limit the contents of a file printed  to the screen.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;more /etc/passwd&lt;/code&gt; to print the contents of passwd file to the screen. Press ENTER to advance one line, SPACE to advance a full page and q to quit&lt;/p&gt;

&lt;h3&gt;
  
  
  12) less [options] ...
&lt;/h3&gt;

&lt;p&gt;This command is used to limit the contents of a file printed  to the screen. It has more options than &lt;code&gt;more&lt;/code&gt; command. &lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;less /etc/passwd&lt;/code&gt; to print the contents of passwd file to the screen. Press ENTER to advance one line, SPACE to advance a full page but does not quits when reaches the end.&lt;/p&gt;

&lt;h3&gt;
  
  
  13) ifconfig [-a] [-v] [-s] &amp;lt;=interface=&amp;gt; [[&amp;lt;=AF=&amp;gt;] ]
&lt;/h3&gt;

&lt;p&gt;This command is used to list all the network interfaces of the linux machine. This command can also be used to change an interface's IP address, assign IP address to a specific interface, take an interface offline,online and more.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;ifconfig&lt;/code&gt; to list all the network interfaces together with information like IP address, MAC address, etc.&lt;br&gt;
&lt;em&gt;Note:&lt;/em&gt;&lt;code&gt;ifconfig&lt;/code&gt; can be installed by &lt;code&gt;sudo apt-get install net-tools&lt;/code&gt; in case of debian based distros. &lt;/p&gt;

&lt;h3&gt;
  
  
  14) grep [OPTION]... PATTERNS [FILE]...
&lt;/h3&gt;

&lt;p&gt;This command is used to search for patterns in a specific file.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;grep -i 'john doe' menu.h main.c&lt;/code&gt; to search for john doe in the following files &lt;/p&gt;

&lt;h3&gt;
  
  
  15) who [OPTION]... [ FILE | ARG1 ARG2 ]
&lt;/h3&gt;

&lt;p&gt;This command is used to print the information of the users who are currently logged in.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;who&lt;/code&gt; to the know the information about the users currently logged in&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;who -b&lt;/code&gt; to print the time of the last system boot&lt;/p&gt;

&lt;h3&gt;
  
  
  16) alias [-p] [name[=value] ... ]
&lt;/h3&gt;

&lt;p&gt;This command is used to give name to a command or sequence of commands. By default Without arguments, &lt;code&gt;alias' prints the list of aliases in the reusable form&lt;/code&gt;alias NAME=VALUE' on standard output.&lt;br&gt;&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;alias cls=clear&lt;/code&gt; to execute clear command by typing cls.&lt;/p&gt;

&lt;h3&gt;
  
  
  17) chmod [OPTION]... MODE[,MODE]... FILE...
&lt;/h3&gt;

&lt;p&gt;This command is used to set permissions for a file or to change the file mode.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;chmod 765 john.txt&lt;/code&gt; to set the permission of john.txt as read, write and execute(7) for the owner, read and write(6) for the group and read and execute(5) for others&lt;/p&gt;

&lt;h3&gt;
  
  
  18) curl [options...] 
&lt;/h3&gt;

&lt;p&gt;This command is used to retrieve information and files from or to a server using one of the supported protocols.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt;&lt;code&gt;curl [URL]&lt;/code&gt; to retrieve information from the following url&lt;br&gt;
*Note:*The curl tool can be installed with &lt;code&gt;sudo apt-get install curl&lt;/code&gt; in case of debian based distros.&lt;/p&gt;

&lt;p&gt;This was just some of the important linux commands. For a full list of linux commands or linux cheat sheet please visit this link:&lt;a href="https://github.com/chaitanya4vedi/Linux-Cheat-Sheet/blob/master/README.md"&gt;Linux-Cheat-Sheet&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt;If you know some commands then please take a minute and contribute to the link above.&lt;/p&gt;

&lt;p&gt;Thanks for Reading :) &lt;/p&gt;

</description>
      <category>linux</category>
      <category>bash</category>
      <category>codenewbie</category>
      <category>ubuntu</category>
    </item>
    <item>
      <title>WiFi Hacking: Beginners Guide</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Sun, 30 Aug 2020 18:55:41 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/wifi-hacking-beginners-guide-57oo</link>
      <guid>https://dev.to/chaitanya4vedi/wifi-hacking-beginners-guide-57oo</guid>
      <description>&lt;p&gt;Every problem brings together a solution, every solution brings together an invention and every invention open ways for problems and there becomes a loop that goes on and on and on. When WiFi was first invented, we certainly were not so concerned about the privacy risks it brings together not until WEP(Wired Equivalent Privacy) was created. From WEP privacy remained a topic of discussion over the use of wifi devices.&lt;br&gt;
Although its not all a risk while using wifi but we will go through here a quick demo of a wifi router being hacked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WARNING:&lt;/strong&gt;Before proceeding i want this to be crystal clear that this is strictly for educational purpose. You are not supposed to perform this anywhere without any prior permission. Your only motive while performing this should be to learn, understand and find ways to overcome this vulnerability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tools Required: For this to be done, we need
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A WIFI Router (Target)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Kali Linux Machine (Host) (You can follow tutorials to install or dual boot kali linux. You can also live boot kali linux using a USB drive without installing locally. Also kali linux supports persistence boot i.e. it will run via USB drive and will store your data there on the USB)&lt;br&gt;
&lt;strong&gt;&lt;em&gt;Comment below if you want a detailed post to set up the kali linux machine&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A wireless network adapter (Attacker) (The one that supports monitor mode and packet injection)&lt;br&gt;
I prefer &lt;strong&gt;AR9271&lt;/strong&gt; chip-set network adapter. It certainly comes cheap and is found almost anywhere. At amazon you can find it a dollar or three higher than aliexpress or banggood.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Our target here is a WPA2-PSK Router that uses AES encryption algorithm which is very difficult but not impossible to crack. The WPA2-PSK system uses 4 way handshake to authenticate devices requesting connection. We will take advantage of this authentication method. &lt;br&gt;
Here i suppose you have successfully booted into the kali linux with the wifi adapter being connected to the host machine. So lets Proceed -&lt;/p&gt;

&lt;h3&gt;
  
  
  1)Enabling Monitor Mode with &lt;strong&gt;airmon-ng&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For operations to be performed over the target router, we at first need to get detailed info about the it. Monitor mode helps us to get the detail info about devices in our reach. We can get an overview of the traffic of our target router together with other information like BSSID, Encryption, ESSID,etc. Even the hidden networks becomes visible in Monitor Mode.&lt;br&gt;
So we open a terminal and type -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;airmon-ng start wlan0&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This puts your adapter from managed mode to monitor mode i.e. from wlan0 to wlan0mon&lt;/p&gt;

&lt;h3&gt;
  
  
  2) Traffic capturing using &lt;strong&gt;airodump-ng&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;No that we are capable of monitoring crucial information about devices around us. Its time to capture those information so we can put information from it into our use later. &lt;br&gt;
In the terminal type -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;airodump-ng wlan0mon&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;After this you will be presented with a screen like this:&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I6NLKHuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/ijgfrpf1oaw859sozffi.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I6NLKHuA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/ijgfrpf1oaw859sozffi.gif" alt="Alt Text" width="746" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Where BSSID are the MAC address's of the visible routers or APs(Access Points), ESSID are the names of the visible routers and we can also see the #data(Data), CH(Channel), ENC(Encryption) of the visible routers.&lt;/p&gt;

&lt;p&gt;Press &lt;code&gt;ctrl + c&lt;/code&gt; to stop capturing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;em&gt;All the routers visible are listed on upper part of the screen while the connected devices or clients are listed on lower part of the screen.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3) Select the Target
&lt;/h3&gt;

&lt;p&gt;From the above screen we can have the required information of our target router. So find your target in that list you can use ESSID to find your target by its name. After you select your target, have two information about it i.e. BSSID and CH(channel) which is clearly visible.&lt;br&gt;
Now we will save data flowing in between the target and connected devices by &lt;code&gt;--write&lt;/code&gt; command in a specific file.&lt;br&gt;
So lets type -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;airodump-ng --bssid 00:1F:9F:A2:E2:2A -c 1 --write [ File Name ] wlan0mon&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Replace [ File Name ] with the name of your choice&lt;br&gt;
Let the data being captured, open a new terminal window and swiftly move to the next step -&lt;/p&gt;

&lt;h3&gt;
  
  
  4) De-authenticate the target and devices
&lt;/h3&gt;

&lt;p&gt;What we need is capture is the footprint of 4 way handshake. For that we need to de-authenticate the target from its clients and let them reconnect. Now they are already connected so we cant really have that footprint of 4 way handshake. So to de-authenticate the target type -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;aireplay-ng --deauth 100 -a 00:1F:9F:A2:E2:2A wlan0mon&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here we are sending &lt;code&gt;100&lt;/code&gt; de-authentication frames to the target router. What will happen is that the connected devices from the router will remain disconnected till the 100 frames are sent. Meanwhile the router will try to authenticate with the devices(clients) we will capture the footprint of the handshake in the background.&lt;br&gt;
So lets see if the handshake is captured or not -&lt;/p&gt;

&lt;h3&gt;
  
  
  5) Handshake Captured
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---Bw5T9Y3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/llqvkmmokvu4sk1lvah7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---Bw5T9Y3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/llqvkmmokvu4sk1lvah7.png" alt="Alt Text" width="800" height="210"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can clearly see above that in the previous terminal where the data was being captured says &lt;strong&gt;WPA handshake: [ BSSID ]&lt;/strong&gt; , means handshake captured successfully.&lt;/p&gt;

&lt;h3&gt;
  
  
  6) Crack the Password
&lt;/h3&gt;

&lt;p&gt;Our captured handshake file will be saved in the root directory with .cap extension. Now this method of wifi hacking involves cracking password against &lt;code&gt;aircrack-ng&lt;/code&gt; using a dictionary of passwords. This dictionary contains A-Z every combination of passwords. The matching one from the dictionary will be identified. So the better the dictionary, the more will be the chances of password being found. Here i am using the default dictionary that comes with aircrack-ng. So lets crack it -&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;aircrack-ng [ FileName.cap ] -W /path/to/wordlist.txt&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and after that you would see a screen like this if the password is found.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LT6RN2z4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/xou8jn73eik0swd8xmjy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LT6RN2z4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/i/xou8jn73eik0swd8xmjy.gif" alt="Alt Text" width="626" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can find a better wordlist or dictionary over the internet, go ahead download them and give the path to it after &lt;code&gt;-W&lt;/code&gt; just like above.&lt;/p&gt;

&lt;p&gt;This method of wifi hacking is pretty old but is best for beginners and to learn. If you want to know about all other methods of wifi hacking then comment below.&lt;/p&gt;

&lt;p&gt;Thanks for Reading ;) &lt;/p&gt;

</description>
      <category>hacking</category>
      <category>linux</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Important Git Commands: Git Commands You Must Know</title>
      <dc:creator>Chaitanya Chaturvedi</dc:creator>
      <pubDate>Sun, 30 Aug 2020 10:08:57 +0000</pubDate>
      <link>https://dev.to/chaitanya4vedi/important-git-commands-git-commands-you-must-know-272b</link>
      <guid>https://dev.to/chaitanya4vedi/important-git-commands-git-commands-you-must-know-272b</guid>
      <description>&lt;p&gt;Git is a very popular and widely used distributed version control system that helps developers manage their code efficiently by keeping a track record of the changes committed to the code-base by time. A VCS or version control system as it sounds is simply a tracker of content(usually code) that tracks changes to code-base and helps developers to simultaneously work on the same project by managing repositories. Git is a distributed version control system(DVCS) which simply means that Git stores code-base on a repository in a Server and simultaneously distribute it to the local repository(usually in Developer's Computer) of each developer.&lt;br&gt;
So, No matter if you are new to development or have ample amount of experience in the development field, these are the essential git commands you must know. Lets have a look:&lt;/p&gt;

&lt;h1&gt;
  
  
  Git Commands
&lt;/h1&gt;

&lt;h3&gt;
  
  
  1) git config [ options ]
&lt;/h3&gt;

&lt;p&gt;This command helps you set the username and email address to be used with your commits respectively.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git config --global user.name "John Doe"&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git config --global user.email "john.doe@gmail.com"&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2) git init [ repository name ]
&lt;/h3&gt;

&lt;p&gt;This command initializes a repository as git repository. To perform git operations you need to initialize the target repository as a git repository.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git init /home/john/Documents/git&lt;/code&gt;&lt;br&gt;
The folder git will be initialized as a git repository here.&lt;br&gt;
Alternatively you can go into that repository and then initialize it by simply giving the command &lt;code&gt;git init&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3) git clone [ URL ]
&lt;/h3&gt;

&lt;p&gt;This command is used to download an existing repository from  a server by an existing URL.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git clone https:\\www.github.com\johndoe\example.git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4) git status
&lt;/h3&gt;

&lt;p&gt;This command is used to see the status of the working tree. It shows you the list of unstaged files and list of files that needs commit. If there is nothing do then it will simply show that the branch is clean.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git status&lt;/code&gt;&lt;br&gt;
&lt;em&gt;Note:&lt;/em&gt; You need to be in a git repository to know its status.&lt;/p&gt;

&lt;h3&gt;
  
  
  5) git add [ File Name ]
&lt;/h3&gt;

&lt;p&gt;This command puts the desired file to the staging area for operations to performed on it.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git add index.html&lt;/code&gt;&lt;br&gt;
&lt;em&gt;Note:&lt;/em&gt; You can add multiple files to the staging area by separating files with a space - &lt;code&gt;git add index.html main.css main.js&lt;/code&gt;&lt;br&gt;
Alternatively you can use &lt;code&gt;git add .&lt;/code&gt; to add all the files in the repository to the staging area.&lt;/p&gt;

&lt;h3&gt;
  
  
  6) git commit [ options ]
&lt;/h3&gt;

&lt;p&gt;This command records changes to the git repository by saving a log message together with a commit id of the changes made.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git commit -m "Write your message here"&lt;/code&gt;&lt;br&gt;
Alternatively you can use &lt;code&gt;git commit -a&lt;/code&gt; to commit changes to the files added using &lt;code&gt;git add&lt;/code&gt; without specifying a message&lt;br&gt;
&lt;em&gt;Note:&lt;/em&gt; You should always commit with a message.&lt;/p&gt;

&lt;h3&gt;
  
  
  7) git remote [ options ] [ variable name ] [ URL ]
&lt;/h3&gt;

&lt;p&gt;This command is used to connect your local repository to the  the remote repository over a server.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git remote add origin https://www.github.com/johndoe/example.git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8) git push [ options ] [ variable name ] [ branch ]
&lt;/h3&gt;

&lt;p&gt;This command is used to push the contents of your local repository to the added remote repository. This sends the committed changes of your master branch to the added remote repository.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git push -u origin master&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; &lt;code&gt;-u&lt;/code&gt; depicts upstream here. &lt;br&gt;
Alternatively you can use &lt;code&gt;-f&lt;/code&gt; instead of &lt;code&gt;-u&lt;/code&gt; to forcefully push the contents of your repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  9) git pull [ URL ]
&lt;/h3&gt;

&lt;p&gt;This command is used to fetch and integrate the contents of the remote repository to your local repository.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git pull https://www.github.com/johndoe/example.git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10) git checkout [ branch name ]
&lt;/h3&gt;

&lt;p&gt;This command is used to move from one branch to another&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git checkout 'branch_1'&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  11) git checkout [ options ] [ branch name ]
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git checkout -b branch_2&lt;/code&gt; is used to create specified branch and is simultaneously switches to it. &lt;/p&gt;

&lt;h3&gt;
  
  
  12) git branch [ options ] [ branch name ]
&lt;/h3&gt;

&lt;p&gt;This command is used to perform operations over the specified branch&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git branch -d branch_1&lt;/code&gt; to delete the specified branch.&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; You can use &lt;code&gt;-D&lt;/code&gt; to forcefully delete a branch&lt;br&gt;
usage: &lt;code&gt;git branch -m old_name new_name&lt;/code&gt; to rename the branch&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git branch -c branch_1 /home/johndoe/Documents&lt;/code&gt; to copy the branch and corresponding reflog&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git branch -C branch_1 /home/johndoe/Documents&lt;/code&gt; to forcefully copy the branch&lt;br&gt;
usage: &lt;code&gt;git branch -M branch_1 /home/johndoe/Documents&lt;/code&gt; to forcefully move the branch&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git branch --list&lt;/code&gt; to list all the branches&lt;/p&gt;

&lt;h3&gt;
  
  
  13) git merge [ branch name ]
&lt;/h3&gt;

&lt;p&gt;This command is used to merge the history of the specified branch into the current branch.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git merge branch_3&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  14) git log
&lt;/h3&gt;

&lt;p&gt;This command is used to show the log of commits made so far to the current branch.&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git log&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git log --follow John_Doe&lt;/code&gt; to see the log of commits made together with renaming of files of the specified file&lt;/p&gt;

&lt;h3&gt;
  
  
  15) git show [ commit id ]
&lt;/h3&gt;

&lt;p&gt;This command is used to list the metadata for the specified commit&lt;br&gt;
&lt;strong&gt;usage:&lt;/strong&gt; &lt;code&gt;git show 521747298a3790fde1710f3aa2d03b55020575aa&lt;/code&gt;&lt;br&gt;
&lt;strong&gt;Note:&lt;/strong&gt; You can use git log to see all the commit ids&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For a full list of Git commands or Git cheat-sheet you can visit this link:&lt;/em&gt; &lt;br&gt;
&lt;a href="https://github.com/chaitanya4vedi/Git-Cheat-Sheet/blob/master/README.md"&gt;Git-Cheat-Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks For Reading ;)&lt;/p&gt;

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