LINUX.ORG.RU

Подскажите простой способ объединения коммитов в git.


0

0

Есть небольшие проекты на github. Обычно девелоперы коммитят прямо в мастер, но на неочевидных вещах каждый делает себе fork, где проводятся отдельные review кода. Проблема в том, что в таких форках иногда бывает очень много мелких коммитов, которыми не хочется засорять основную историю.

Как можно по-простому втянуть изменения из форка под видом единственного коммита?

Ключевое слово - по-простому.

★★★★★

Ответ на: комментарий от dmitry_vk

Погуглил, ниасилил. Как я понял, rebase линеаризирует историю, но количество коммитов сохраняет. А мне хочется втянуть все коммиты форкнутого репозитория под видом одного.

Ну либо на форке их как-то объединить перед втягиванием, хотя это менее желательно.

Vit ★★★★★
() автор топика
Ответ на: комментарий от yltsrc

Получилось. Спасибо большое.

Vit ★★★★★
() автор топика

можно так:

git checkout master
git merge --squash review
...review changes...
git commit -a -m «Code review.»

anonymous
()
Ответ на: комментарий от yltsrc

Хм... где-то я не догнал с непривычки.

Сделал на локальном компьютере ребейз 2 последних коммитов, как вы предложили. Все зашибись, новая чистая история. После этого попытался запушить на gitgub - получил ошибку:

! [rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@github.com:rcdesign/vb-ame_rcd_rules.git

Сделал так:

git pull
git push

В итоге на github обе истории + мердж. А я думал, что останется только новая.

http://github.com/rcdesign/vb-ame_rcd_rules/network

Как надо было делать?

Vit ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.