-
Notifications
You must be signed in to change notification settings - Fork 635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Добавляет ответ на вопрос о разнице между git rebase
и git merge
#5471
base: main
Are you sure you want to change the base?
Conversation
This comment was marked as duplicate.
This comment was marked as duplicate.
git rebase
и git merge
Привет, спасибо за статью! |
Добавил ссылку на доку. Мне кажется, раскрывать эту тему было бы логичнее в статье, а не в ответах на вопросы. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Спасибо! Очень классное дополнение.
Давай немножко уточним перед тем как это помержить
@@ -0,0 +1,23 @@ | |||
Обе команды нужны для одной цели, но имеют существенные отличия в том, как работают. | |||
|
|||
`git merge` объединяет изменения из одной ветки в другую, создавая новый коммит слияния `merge commit`. История проекта остаётся неизменной, записываются все коммиты. Можно проследить, когда и как ветки были объединены, но читать такую последовательность сложнее. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Давай уточним что это происходит не всегда см fast-forward merge
git merge feature | ||
``` | ||
|
||
`git rebase` перемещает или переписывает базу текущей ветки на указанную базу другой ветки. Это переписывает историю коммитов (в том числе изменяя хэши), делая её линейной, не создаёт новый коммит слияния `merge commit`. Это упрощает чтение последовательности внедрения фич, но усложняет отслеживание детальной хронологии. Главное преимущество команды — возможность перенести только часть коммитов. Будьте осторожны, `git rebase` может [иметь негативный эффект](https://git-scm.com/book/ru/v2/%D0%92%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B2-Git-%D0%9F%D0%B5%D1%80%D0%B5%D0%B1%D0%B0%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5#:~:text=%D0%9E%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8%20%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D1%89%D0%B5%D0%BD%D0%B8%D1%8F). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Кажется для ребейза не обязательно находиться в нужной ветке (см --onto) флаг. И вот тут https://doka.guide/recipes/git-rebase-onto/
Дополнил ответ информацией о "fast-forward merge" и --onto флаге. |
Превью контента из 7af95e0 опубликовано. |
Описание
Добавил ответ на вопрос о разнице между git rebase и git merge в раздел собеседований
Closes #5341
Чек-лист
/css/color/
,/tools/json/
,/tools/gulp/#kak-ponyat
)images/example.png
,demos/example/
,../demos/example/
)