Ответ 1
Этот пост имеет приятное объяснение:
Ответ заключается в переустановке. Rebasing - это технология, популярная в git, где вы переписываете свои еще не проталкиваемые патчи, чтобы они применялись против текущего удаленного наконечника, а не против кончика репозитория, с которым вы столкнулись с последним нажатием. Преимущество состоит в том, что ваша история слияния показывает полезные слияния - слияния между основными ветвями - а не просто каждое слияние, которое вы сделали с восходящим репозиторием.
Обычная последовательность pull, merge, push приведет к созданию нескольких коммитов, которые не очень полезны с точки зрения истории вашего репозитория. Rebasing помогает устранить эти проблемы.