fakes up a parent link between two commits
git pull origin master git checkout -b new-feature-branch git status git commit -am "commit message" <--cycle from step 2-4, until work is done-->  git checkout master git pull origin master #update the master before merging the new changes git checkout new-feature-branch git rebase master #apply the new changes on top of current master  git checkout master git merge new-feature-branch git push origin
When you deploy code to different machines often times you need to add little tweaks, such as adding or modifying configuration files.