Цель: находясь онлайн быстро выкачать изменения для склонированных репозиториев, а потом оффлайн обновить их (что длится дольше из-за обычного hdd).
Вроде как
git pull --rebase
git fetch
git rebase
Но есть и другое мнение.
По крайней мере о 100% эквивалентности точно говорить не приходится:
$ diff -rq 1-fetch-rebase/some-repo.git 1-pull-rebase/some-repo.git
Files 1-fetch-rebase/some-repo.git/.git/index and 1-pull-rebase/some-repo.git/.git/index differ
Files 1-fetch-rebase/some-repo.git/.git/logs/HEAD and 1-pull-rebase/some-repo.git/.git/logs/HEAD differ
Files 1-fetch-rebase/some-repo.git/.git/logs/refs/heads/master and 1-pull-rebase/some-repo.git/.git/logs/refs/heads/master differ
Files 1-fetch-rebase/some-repo.git/.git/logs/refs/remotes/origin/some-branch and 1-pull-rebase/some-repo.git/.git/logs/refs/remotes/origin/some-branch differ
Files 1-fetch-rebase/some-repo.git/.git/logs/refs/remotes/origin/master and 1-pull-rebase/some-repo.git/.git/logs/refs/remotes/origin/master differ
$
И это в простом случае, а если действительно upstream чего-то намудрит?
Кстати, а кто-нить встречал тесты для подобных хитрых изменений? Т.е. хэлпе и на stackoverflow встречаешь диаграммы коммитов, а есть ли готовые тестовые репозитории с этими коммитами?
Или если команды неэквивалентны, то это баг?