Как просмотреть измененные файлы в деталях? Так что я могу выбрать, что включать / исключать на уровне файлов - PullRequest
0 голосов
/ 04 июля 2018

Привет, ребята, это сценарий,

Мне трудно найти простой для понимания сценарий, который предоставляет хороший контекст, поэтому давайте рассмотрим 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

Мне также интересно, можно ли это сделать с помощью sourcetree? Вы не нашли способ, вы определенно не можете сделать это в Visual Studio (это IDE, которую я использую, или, возможно, я не нашел способ)

Что я действительно хотел бы, чтобы это произошло, так это получение конфликта в git, чтобы я мог использовать свою среду IDE, чтобы выбрать, что оставить и что обновить, когда я объединяю это из другой ветки, он просто переопределяет все, даже если я говорю $ git merge -X ours Обновленный филиал

1 Ответ

0 голосов
/ 04 июля 2018

не нашли способ, вы определенно не можете сделать это в Visual Studio (это IDE, которую я использую, или, возможно, я не нашел способ)

Тем не менее то, что вы описываете, выглядит как Разрешение слияния Visual Studio

  • Появляется уведомление о конфликте. Нажмите на ссылку Конфликты, чтобы начать разрешение конфликтов файлов.

Prompt when there is a merge conflict when you pull a change

Однако, это не ваш сценарий: вы пытаетесь добавить кусок объединенных файлов даже , когда нет конфликта.

Для этого нужно указать Git, что вы хотите вызвать конфликт: см. « Git - как вызвать конфликт слияния и ручное слияние для выбранного файла ». Он использует диск слияния, который объединяет файл, но завершается со статусом 1.

...