Запрос на извлечение, игнорируйте некоторые изменения файла

Когда я делаю запрос Pull на GitHub (против главной ветки), можем ли мы игнорировать некоторые изменения файла, например

  • у нас есть один файл с именем 'fileA' в ветке 'release', и у нас есть тот же файл в 'master', но мы делаем некоторые изменения в 'fileA' в ветке 'release'
  • когда мы выполняем запрос Pull, есть ли способ игнорировать изменения в файле fileA, не позволяйте этому сливаться в "master".

Ответ 1

Вы не можете игнорировать некоторые файлы из запроса на растяжение выборочно. Возможны два способа обхода:

Сначала -

  • Создать новую ветку из 'release'
  • Замените ненужные файлы из "master"
  • Создать запрос на перенос с этой новой ветки

Второй -

  • Создайте новую ветку из 'master'
  • Поместите изменения необходимых файлов из 'release'
  • Создать запрос на перенос с этой новой ветки

Любой из этих методов будет работать. Что будет проще, зависит от того, сколько файлов должно быть включено/исключено.

Ответ 2

Создайте ветку с последней фиксацией, с которой вы согласны:

git branch my-branch <sha>
git checkout my-branch

Выберите фиксации для запроса как патчи:

git format-patch -10 <sha> --stdout > 0001-last-10-commits.patch

Применить патчи:

git am < 0001-last-10-commits.patch

Ваши коммиты будут такими, какими они были. Вы можете git push -u origin my-branch немедленно.