, git pull --rebase, :
, :
A -> B -> C -> D
| | local master
remote/master
:
$ git branch save_state
$ git reset --hard C
A -> B -> C (remote/master)
\ -> D (local save_state)
,
$ git pull origin master
( )
,
$ git checkout save_state
$ git rebase master
$ git checkout master && git merge save_state
, .