Привет, ребята, это сценарий,
Мне трудно найти простой для понимания сценарий, который предоставляет хороший контекст, поэтому давайте рассмотрим Umbraco CMS в качестве примера ...
Пример контекста
Допустим, у меня есть работающий веб-сайт, использующий эту CMS, и в нем есть мои обновления некоторых конфигураций, представлений и т. Д., Сайт работает нормально. Но шесть месяцев напролет есть обновление новой версии до CMS, скажем, это версия X.3 и я на X.1, поэтому, когда я загружаю новые файлы с веб-сайта umbraco для обновленной версии, мне нужно поместить эти файлы поверх существующее рабочее место Umbraco.
Теперь вопрос:
Я знаю, какие файлы были изменены, выполнив $ git status , но есть ли способ просмотреть, какие разделы в данном файле были изменены, чтобы я мог затем выбрать то, что я хочу сохранить, а что нет (они отменяют мои обычные обновления конфигурации), я попробовал почти все, даже назначить обновление в отдельной ветке и пытаюсь объединиться с существующим с надеждой, что разрешение конфликта появится, но это не ...
Есть ли способ сделать это: выбрать то, что я хочу оставить и что я хочу удалить, если не дано разрешение конфликта?
Я нашел инструмент, который позволяет мне выбирать между тем, что оставить и что удалить, благодаря статье umbraco за 24 дня (следовательно, поэтому я использую пример umbraco, но не совсем используя umbraco)
Этот инструмент позволяет мне делать именно то, что мне нужно (Git Extensions)
![See Git Extensions allows you to stage or unstage selected lines! this is exactly what i would like to achieve without the use of this tool](https://i.stack.imgur.com/oH6uc.gif)
Мне также интересно, можно ли это сделать с помощью sourcetree? Вы не нашли способ, вы определенно не можете сделать это в Visual Studio (это IDE, которую я использую, или, возможно, я не нашел способ)
Что я действительно хотел бы, чтобы это произошло, так это получение конфликта в git, чтобы я мог использовать свою среду IDE, чтобы выбрать, что оставить и что обновить, когда я объединяю это из другой ветки, он просто переопределяет все, даже если я говорю $ git merge -X ours Обновленный филиал