Git Pull

Git Pull reference document

Incorporates changes from a remote repository into the current branch.

In its default mode, git pull is shorthand for git fetch followed by git merge FETCH_HEAD.

git pull [<options>] [<repository> [<refspec>??]]


    A---B---C master on origin (remote)
    /
D---E---F---G master (local)
    ^
    origin/master in your repository (local)

The commits on the master branche (code) from the remote server called origin (A, B, C) are downloaded first

They are replayed on latest commit (G) on the local master branch and the local master branch will have a new commit called H as below


          A---B---C origin/master
	 /             D---E---F---G---H master

H is called a merge commit

where as F and G are explicitly named locally


git pull origin master

fetch code from the branch master from a server called origin

Merge that code with the "current" local branch. (it doesn't say these have to be tracked).

So i assume the current branch doesn't have to be "master"!!!