Советы по объединению больших изменений между ветками - PullRequest
3 голосов
/ 19 мая 2009

Чтобы выучить Doxygen, я создал ветку и изменил Исходный файл комментариев медленного проекта. Тем не мение, этот проект с тех пор претерпел большие изменения, разделив большой файл на несколько небольших файлов:

big_file.c -> big_file.c file_a.[ch] file_b.[ch]

Я хочу сделать то же самое на моей ветке. Очевидно, я могу дублируйте файл large_file.c моей ветви как file_a. [ch] и т. д. и объединить вручную, удалив ненужные части. Тем не менее, мне было интересно, если бы были менее подвержены ошибкам способы сделать это.

Ответы [ 2 ]

1 голос
/ 19 июня 2009

Это было некоторое время, но я сделал слияние довольно быстро, хотя и скучно. Для дальнейшего использования в проекте использовались две передовые практики:

  • Частые небольшие коммиты
  • Выполнено только разбиение, новые функции не добавлены

Первое изменение, которое я слил в свою ветку, было создание нескольких пустых файлов (file_a. [Ch], file_b. [Ch]). Простое слияние. Второе изменение - это вырезка и вставка кода из big_file.c и его включение в file_a. [Ch]. Это слияние было простым, даже с некоторыми конфликтами. Аналогично для других изменений, пока глава проекта не был объединен с моей веткой с очень небольшим количеством конфликтов. Отслеживание изменений с тех пор было тривиальным.

0 голосов
/ 19 мая 2009

Git Merge может автоматически следовать за такого рода изменениями в некоторых случаях. Я бы предложил сначала выполнить прямое слияние, прежде чем делать что-либо сложное.

...