Этот вопрос SO прекрасно описывает нашу ситуацию: -gittortoise-gi">Как правильно выполнить коммит/пуш при наличии конфликтов в Git или TortoiseGit?
На поставленный выше вопрос нет ответа (по крайней мере, не принятого).
Кажется, это одно из решений: https://stackoverflow.com/a/12171221/172396
Однако я считаю, что это перебор. Я только что потерял обязательство перед своими коллегами. Поскольку Git — это распределенная система контроля версий, я подумал, что будет нормально, если мы посоветуем коллегам делать локальные коммиты, а затем отправлять их в центральное репо один или два раза в день. В большинстве случаев они работают над отдельными модулями и не вызывают конфликтов. Я думал, что в случае случайных конфликтов мы всегда можем разрешить их локально, а затем сделать еще одну локальную фиксацию и удаленную отправку.
Теперь коллега совершал локальные действия и пытался надавить, что привело к конфликту. Она вытягивала, разрешала конфликты и потом ТОЛЬКО отправляла свои измененные файлы. В удаленном репо была еще одна фиксация, говорящая о ветке слияния с некоторыми файлами, которая эффективно отменяет мои предыдущие коммиты.
Ожидается ли это? Как мы должны работать локально, а затем время от времени выполнять повторную синхронизацию? Если я выполнил локальную фиксацию, а последующее извлечение приводит к конфликту, как мне обеспечить правильное слияние, чтобы не отменить предыдущие фиксации в удаленном репо.