GIT PULL:- Get latest code in your local


The git pull command merge upstream changes into your local repo. git pull rolls git fetch and git merge into single command.

#fetch the specific remote copy of local branch and merge it into local copy.
git pull 

#Same as the above command, but instead of using git merge to integrate the remote branch with the local one, use git rebase
git pull --rebase 

Pulling vs Rebase:- The –rebase option can be used to ensure a linear history by preventing unnecessary merge commits. Many developers prefer rebasing over merging, since it’s like saying, “I want to put my changes on top of what everybody else has done.”

git config --global branch.autosetuprebase always

After running that command, all git pull commands will integrate via git rebase instead of git merge.


GIT FETCH:- The git fetch command imports commits from remote repo to your local repo.he resulting commits are stored as remote branches instead of the normal local branches that we’ve been working with. This gives you a chance to review changes before integrating them into your copy of the project.

#Fetch all of the branches from the repository. This also downloads all of the required commits and files from the other repository.
git fetch 

#Same as the above command, but only fetch the specified branch.
git fetch  

#This will display the branches that where downloaded
git fetch origin

#This will download all branches to your local
git fetch --all

GIT STASH : Save files for future use

Git Stash:-

The git stash command takes your uncommitted changes (both staged and unstaged), saves them away for later use, and then reverts them from your working copy.

#to stash changes
git stash

#Reappling your stashed changes
git stash pop

#you can reapply the changes to your working copy and keep them in your stash(This is useful if you want to apply the same stashed changes to multiple branches)
git stash apply

By default running git stash command stash your working directory files only to stash untracked or ignored file use -u option

git stash -u
git stash --include-untracked

You are not limited to do single stash. you can run git stash several times then use git stash list to list out all stash.

Read more

GIT COMMIT :- Save changes in stage area

GIT COMMIT:- Git commit command commits the staged snapshots to the project history. Whenever you do git commit it will commit the changes into staged area but not on server to send your changes to server you should you git push command.
To commit specific files we should use file path with commit. always be sure before using -a (all) flag. This will commit all files some may be needed some may not for your repository. -m flag is always required if you don’t pass it in command it will open your preferred editor asking for the message. If any file is new you should add file first using git add command. We can use git status command at any time to see what the project status is. –amend flag is very useful when you forgot to commit any file this will add the current files is last commit with same message as last commit is. you can also change the message.

Git Commit Command

#commit staged snapshot
git commit

#commit staged snapshot without launching the text editor asking for message
git commit -m 

#commit all changes to working dirctory with all modified files.
git commit -a

#add the changes to last commit
git commit --amend

GIT ADD:- Adding files to stage area


git add commands add changed file to working directory to the staging area. It tells Git that you want to include updates to a particular file in the next commit. However, git add doesn’t really affect the repository in any significant way—changes are not actually recorded until you run git commit.

# add a single file
git add file_name

#add directory to repo
git add folder_name


GIT CONFIG:- git config command lets you configure your git installation from the command line. the command can define everything from user info to preferences to the behavior of repo. Several commands are available as follow

git config --global     //define a user name used for all commits
git config --global   //define a user email used for all commits
git config --global alias.   //create a shortcut for git command
git config --system core.editor  //define text editor used by commands like commit
git config --global --edit  //To open global configuration file.

Some examples are given below
Read more


GIT INIT:-   git init command is use for creating a new repo. it can also be used to convert existing unversioned project to git repo or initialize a new empty repo.

By exicuting git init command it creates a .git sub-directory in the project root. which contains all necessary meta-data for the repo. Unlike svn git doesn’t requires .git folder in each sub-directory.

git init // new git repo
git init  //transform the directory into git
git init --bare  // this will create a new directory and .git as its subdir.