Могу ли я выбрать несколько коммитов из разных веток? - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть 3 ветви, m является главой мастера, в то время как g и h - ветви с одним коммитом. Я не могу сделать ребаз или слияние на этом этапе. Я хочу, чтобы вишня выбрала изменения в g и h поверх мастера, не фиксируя их, а просто оставив их неизменными. Между ними нет никаких противоречий. Однако я могу только выбрать вишню g или h. Когда я пытаюсь выбрать другую вишню, вишневая корзинка терпит неудачу:

error: your local changes would be overwritten by cherry-pick.
hint: commit your changes or stash them to proceed.
fatal: cherry-pick failed

Можно ли сделать это ?

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Во-первых, посмотрите git status, некоторые файлы изменились в рабочем каталоге или индекс не ясен. Чем вы можете скрыть изменения в sta sh, используя git stash или сбросить их или зафиксировать.

Если вы хотите объединить коммиты из g и h ветвлений в m, чем это сделать

1)

git checkout m
git cherry-pick <commit_from_g>
git cherry-pick <commit_from_h>
git rebase -i #squash last to commits into one

или

2)

git rebase m h
git rebase h g
git checkout g
git rebase -i #squash last to commits into one
0 голосов
/ 10 апреля 2020

Вы должны зафиксировать свои изменения в ветке, где вы пытаетесь что-то выбрать. Активных изменений не должно быть, и тогда вы сможете выбрать любое количество коммитов из любых веток

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...