В мерзавце, как я удаляю фиксацию из одного ответвления и применяю его к другому ответвлению?

Ну, если Вы будете использовать указатели на свои классы рабочей лошади в Вашем Интерфейсном классе и не представите их как параметры или возвратите типы в Ваших методах интерфейса, Вы не должны будете включать определения для тех лошадей работы в Вашем интерфейсном заголовочном файле (Вы просто передаете, объявляют их вместо этого). Тем путем пользователи Вашего интерфейса не должны будут знать о классах в фоновом режиме.

Вы определенно не должны вкладывать классы для этого. На самом деле отдельные файлы класса на самом деле сделают Ваш код намного более читаемым и легче справиться, когда Ваш проект растет. также поможет Вам позже, если необходимо разделить на подклассы (скажите для различного содержания/типов кодека).

Вот больше информации о шаблон PIMPL (разделите 3.1.1).

25
задан prismofeverything 20 November 2009 в 22:55
поделиться

2 ответа

Фиксация Cherry-pick в целевую ветку и сбросить исходную ветку. Предполагая, что вы хотите переместить последнюю фиксацию из ветки source в target , выполните:

git checkout target
git cherry-pick source
git checkout source
git reset --hard source^

Если фиксация не была последней, вам придется использовать git rebase -i вместо последней команды и выберите конкретное имя фиксации для вашего вишневого выбора .

36
ответ дан 28 November 2019 в 21:23
поделиться

Обычно, когда я делаю что-то подобное, я:

  1. Создайте файл обратного патча с помощью git diff (например, git diff HEAD ^ HEAD )
  2. Примените этот обратный патч к ветви, из которой я хочу удалить изменение.
2
ответ дан 28 November 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: