что делает команда git pull --rebase?
Делает pull, а потом делает rebase локальной истории на то что было получено через pull.
Т.е. если в удалённом репозитории было
A--B--C
в локальном репозитории к этому было добавлено
A--B--C--d--e
а в удалённом
A--B--C--D--E
то после git pull --rebase локальная история станет такой:
A--B--C--D--E--d'--e'
где d' и e' -- это перебазированные поверх E локальные d и e.