Git объединяет только не конфликтующие коммиты

213
larkey

Идея состоит в том, чтобы mergeразветвлять B в ветвь A, но объединять только те коммиты, которые не будут конфликтовать в процессе (конечно, это может привести к тому, что другие коммиты тоже станут «конфликтующими», поскольку они зависят от предыдущего конфликтующего коммита, но это нормально).

Я думаю, что это нельзя назвать объединением, поскольку некоторые пропускают некоторые коммиты, и это больше похоже на cherry-pick:

cherry-pick все фиксирует в историческом порядке, пропуская те, которые не работают

Но есть ли другой (лучший) способ сделать это? Мне определенно нужен список всех пропущенных коммитов. В случае, если есть такой способ, этот список необходимо предоставить.

Если я в конце концов напишу bash-скрипт, повторяющий все коммиты, предоставление такого списка, конечно, возможно. Но я не прошу вас написать один, я просто хочу убедиться, что нет более легкого / лучшего способа, прежде чем делать это!

0
Вы смотрели [этот ответ о переполнении стека] (http://stackoverflow.com/a/10697551/117259)? JakeGould 8 лет назад 0
Если я правильно понимаю, это действительно будет решением, спасибо! Вы точно знаете, что происходит, когда происходит неразрешимый коммит? «Изменения в другом дереве, которые не конфликтуют с нашей стороной, отражаются на результате слияния». - Я не совсем уверен, что должно означать «отражение в результате слияния». Это то, что я имею в виду со своим «списком непогружаемых коммитов»? larkey 8 лет назад 0
Понятия не имею. Мое предложение? Просто создайте тестовое хранилище и посмотрите, что произойдет. JakeGould 8 лет назад 0
@JakeGould Определенно сделаю это, я слишком устал, чтобы делать это сегодня - слишком поздно :-) larkey 8 лет назад 0
@JakeGould я забыл комментировать мои результаты, извините! Я попробовал это, но, к сожалению, это было бы в основном эквивалентно копированию файлов из ветви B в ветку A и постановке и фиксации результатов как «слияние» - т.е. он сливается в один коммит с огромным diff: / larkey 8 лет назад 0

0 ответов на вопрос

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