Git
$ git pull --rebase origin master
$ git add <conflict_file>
$ git rebase --continue
$ git rebase -i origin master
Rebase with the master
$ git rebase -i HEAD~5
git push (after rebase)
$ git push origin --force-with-lease
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
https://gist.github.com/octacian/99d3996dc8835167b5d9460658a36f3e
Squash commits
$ git reset head~n
$ git add .
$ git commit -m '<squashed msg>'
$ git push origin <branch-name> --force
git merge master
$ git checkout master
$ git pull
$ git checkout <branch>
$ git merge master