Если у вас просто есть пара коммитов, то вишня, выбирая их, может быть самым простым вариантом. Вы можете найти хеши коммитов через git log master
. Затем сделайте следующее.
git checkout branch_a
git cherry-pick COMMIT_HASH_1
git cherry-pick COMMIT_HASH_2
...
git checkout master
git reset --hard COMMIT_HASH_BEFORE
Где все COMMIT_HASH_#
- это коммиты, которые вы хотите переместить на branch_a
, а COMMIT_HASH_BEFORE
- это хэш коммитов до ваших ошибочных коммитов. (Обратите внимание, что это исключит любые незафиксированные изменения в вашем рабочем каталоге.)
Обратите внимание, что если вы уже отправили изменения в master
, и другие люди могли работать с веткой, вместо этого вы захотите git revert
те же самые коммиты, которые вы выбрали, иначе вы вызовете проблемы для другие работают на ветке. (Revert просто создает новый коммит, который отменяет предыдущий коммит.)