Доброго дня! Возникла ситуация, с которой не могу справиться в одиночку.
Есть ветка master в репозитории. Из этой ветки в новую мне необходимо перенести некоторые коммиты. Но так, чтобы они из master они были удалены.
Надеюсь на помощь сообщества. Заранее благодарен!
branch-name - название ветки
commit-hash - хеш-код коммита начиная с которого нужно сделать ветку. Все коммиты, которые были позже, не войдут в новую ветку.
Спасибо за ответ, но не совсем то. Я не уточнил один момент. Коммиты идут не по порядку.
Например есть такая ветка:
(master): А-В-С-D-E-F-G
Из нее нужно сделать такую ветку:
(test): C-E-G
В итоге должно получиться:
(master): А-В-D-F
(test): C-E-G
# Rebase 874fbea..708b6ca onto 874fbea
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
Вам нужно будет удалить (или закомментировать) лишние коммиты:
До удаления:
pick aa77728 commit message
pick 066d3e8 commit message
pick be13c77 commit message
pick 55eeae4 commit message
pick c0a3f99 commit message
pick 708b6ca commit message
После удаления:
pick aa77728 commit message
pick be13c77 commit message
pick c0a3f99 commit message
Сохранить.
После этого rebase продолжится без тех коммитов которые Вы удалили.
сначала с помощь git rebase -i HEAD~7
пересортировываете ваши коммиты (просто меняете строчки местами)
потом отрезаете хвост - получается мастер
в тесте можете еще раз сделать ребейз но уже просто удалить лишние строчки