Скажите, что у меня есть одна основная ветвь [M]
и много ветвей функций вне этой главной ветки [F1, S1]
.Я хочу, чтобы основная ветвь была полностью протестирована, поэтому я делаю ветку из основной [J]
, чтобы объединить все ветви функций и проверить их в первую очередь, прежде чем снова объединить с основной.Это работает!Я объединяю [F1]
и [S1]
в [J]
, а затем [J]
в [M]
, и все хорошо.
Теперь период прошел, и я хочу сделать это снова, поэтому ясоздайте новую ветку из [M]
, назовите ее [K]
и сделайте то же самое с моими новыми функциональными ветками.[S1]
был обновлен, поэтому я продолжаю и сливаю [S1]
в [K]
, и все хорошо.
Теперь это начало немного сбивать с толку, но детали этой следующей частине имеет большого значения.Одна из этих функций, скажем, [F1]
должна быть построена из ветви [J]
, поэтому я объединяю [F1]
в [J]
.Я все еще хочу [F1]
функции в [K]
, поэтому я продолжаю и объединяю [J]
в [K]
.
Несколько вещей, которые следует иметь здесь в виду, [S1]
ранее был объединен в[J]
.Теперь [S1]
был обновлен и объединен в [K]
, который работает нормально, а затем происходит слияние [J]
в [K]
.
Теперь, когда я иду, чтобы сделать еще одно обновление для [S1]
и попробуйте объединить его с [K]
, там написано, что [S1]
"уже обновлено", когда я только что внес в него изменения.Оглядываясь назад на историю слияний, можно сказать, что слияние [J]
в [K]
вызвало эту проблему, поскольку оно избавилось от некоторых [S1]
изменений, но я не уверен, почему.
Что вызывает эту проблему,и что я могу сделать в будущем, чтобы избежать этого?
Вот краткая иллюстрация процесса:
[M]____ ____ ____[M]
\ / \ /
|\ / |\ /|
| [J] | [K] \
| | \ \
[F1, S1] [S1] | \
[J] [S1]*
, где [S1]*
- ветвь, которая имеет обновления до [S1]
что я попытался объединить, но там написано «уже актуально».