Каков «лучший» (читай: «самый простой», «предпочтительный», «правильный») способ разделить набор изменений между несколькими ветвями в git? Например, предположим, что я сделал набор (незафиксированных) изменений во время работы в ветке X, но некоторые изменения действительно нужно зафиксировать в ветке Y, другие - в ветке Z, а третьи - в ветке W; обычно то, что я делал бы инстинктивно (например, рекомендованный здесь) заключается в том, чтобы сохранить изменения, проверить Y, применить изменения, зафиксировать только то, что имеет отношение к Y, и повторить для других веток. Проблема, с которой я сталкиваюсь, заключается в том, что применение сохраненных изменений часто приводит к конфликтам слияния, которые необходимо обрабатывать, и если я делаю всплывающее окно тайника вместо применения (что случается достаточно часто, чтобы быть реальным риском для меня!), Я В конечном итоге изменения, предназначенные для Z, смешиваются с ветвью Y, и их приходится распутывать вручную.
Есть ли способ лучше? Как лучше мне справиться с этой ситуацией?
Обратите внимание, что мой вопрос связан с такими вопросами, как этот, но отличается тем, что я ищу лучший способ разделить текущий набор изменений между несколькими ветвями. Также обратите внимание, что я не могу переключиться на Y, Z или W до разработки набора изменений; Я должен начать с X и разработать набор изменений на X.