Я пытаюсь вернуться к более старой фиксации, но когда я это делаю, я получаю конфликт слияния. Почему это происходит?
Команда, которую я использовал:
git revert <commit id>
Я пытаюсь вернуться к более старой фиксации, но когда я это делаю, я получаю конфликт слияния. Почему это происходит?
Команда, которую я использовал:
git revert <commit id>
Большинство команд update-the-index-and/or-worktree представляют собой своего рода слияние изменений, которые вы хотите, с изменениями, которые у вас есть, оба набора рассчитываются на основе некоторой базы. Обновления, которые не являются слияниями, обычно (я не могу придумать исключения в данный момент) называются жесткими или принудительными.
Базовая версия (и расчетные изменения) зависят от того, что вы делаете. Для отката изменения, которые вам нужны, — это те, которые вернут фиксацию [ted snapshot], которую вы возвращаете, к ее родителю, поэтому основой является эта откатная фиксация, изменения, которые вы хотите отменить, его отличия от его родителя, изменения у вас имеется разница между этой базой, той, которую вы отменяете, и вашей текущей оплатой.
Правило Git для отказа от автоматического слияния ~перекрывается или примыкает к блокам изменений~. Это правило было проверено на живом огне: ослабьте его, и вы получите множество явно плохих слияний, уменьшите его, и вы отклоните множество в основном всегда хороших слияний.
Дело в том, что я думаю, что вы рассматриваете конфликты слияния как плохие вещи. Они не. Git сообщает вам, что изменения, которые вы хотите применить, те, которые откатывают эту фиксацию к своей родительской версии, перекрываются или примыкают к изменениям, которые вы уже применили в своей рабочей копии (достаточно часто где-то в истории с момента той фиксации, которую вы откатываете). ), и он спрашивает вас, как должен выглядеть результат: ~ вы хотите применить это изменение, и вы уже применили это другое последующее изменение, если я просто смешаю результаты вместе, история говорит, что результаты будут не такими, как все хотят так что проверьте, исправьте и добавьте правильный результат~.