Ну, я не совсем понял, как вы управляете своим кодом, поэтому я снова перечислю вашу структуру. При запуске у вас есть ДВА рабочих хранилища, а C является хранилищем ORIGIN .
Вы создали B из A и работаете над ними обоими. У вас есть куча коммитов на A и B . Затем вы нажимаете B на ORIGIN (в данном случае C) и создаете ветку D из ORIGIN . Теперь вы хотите, чтобы изменения, которые вы сделали в A , были в D .
Ну, например, снимок этих веток совершенно другой. Я бы посоветовал вам переключиться на ветку D git checkout D
и Черри выбрать коммиты с A git cherry-pick <commit-hash>
Сбор вишни - самый безопасный способ получения изменений кода из одной ветви в другую. Конечно, это также будет зависеть от того, сколько коммитов вы хотите получить в D . Если кода много, то имеет смысл перебазировать и объединить.