Git Merge, игнорируя изменения в некоторых файлах (наши против их) - PullRequest
0 голосов
/ 24 мая 2018

Настройка

Компания выполняет для нас некоторую работу, отказавшись от master, и открывала запросы на извлечение для ветви функций, которая посвящена этой работе.У нас (в настоящее время) нет транспортера, и когда я попросил компанию убрать нотации ES6 + из внешнего интерфейса, они также изменили нотации в бэкэнде.Это было и не нужно, и во многих случаях труднее для чтения.

Проблема

Я хочу объединить PR, но затем объединить только определенные изменения файла в мою ветку develop.Как мне игнорировать изменения в определенных файлах или возвращать только эти файлы, в результате чего получается фиксация, которую я могу вставить в мою ветку develop, предпочтительно через другой PR?

Есть мысли?

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Это может работать не во всех случаях, но похоже, что оно должно работать в вашем: просто отменить изменения до слияния .

Учитывая, что ваш запрос на извлечение из филиала pull-request to develop, это может быть просто:

git checkout pull-request
# check out files from develop, they will be immediately staged
git checkout develop -- file/to/revert other_file/to/revert
git commit -m 'Reverted files that should be reverted'
git push origin pull-request

Это должно добавить запрос на удаление, чтобы больше не включать файлы, которые нарушают работу, поэтому вы можете просто объединить его.

0 голосов
/ 25 мая 2018

Я нервничаю, карабкаясь вверх-вниз по дереву коммитов, поэтому я предпочитаю всегда ветвиться и сливаться.Ниже гораздо больше, чем нужно , но мне нравится путь возврата, если что-то пойдет не так. Так что не стесняйтесь предложений.

  1. Запишите хеш коммита заголовка ветви функций, для дальнейшего использования.
  2. Создайте "чистую" ветку изветвь функции.
  3. Слияние PR с веткой функции.
  4. Извлечение файлов, которые вы хотите отозвать, из предыдущего коммита
    • git checkout *commit* -- file/path/one.js file/path/two.js
  5. Зафиксируйте свои поэтапные изменения
  6. Создайте PR обратно в свою ветвь функций

Более быстрый способ:

  1. Запишитехэша коммита главы ветви функций, для последующего использования.
  2. Слияние PR в ветку функции.
  3. Извлечение файлов, которые вы хотите отозвать, из предыдущего коммита
    • git checkout *commit* -- file/path/one.js file/path/two.js
  4. Фиксация ваших поэтапных изменений

Обе стратегии создают новый коммит для перезаписи файлов обратно, какими они были до PR.

Примечание: Посмотрите на ответ @ Frax для более ясного варианта командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...