Удаление измененного файла из запроса на извлечение

В настоящий момент у меня есть 3 измененных файла (без новых файлов).

Я хотел бы удалить один из этих файлов из запроса на перенос, чтобы запрос на перенос содержал только изменения в двух файлах и оставил третий в своем первоначальном, нетронутом состоянии.

Я пробовал пару вещей (проверяя исходную версию файла и т.д.), но он по-прежнему отображается как измененный файл в PR.

Есть ли решение для этого?

Ответы

Ответ 1

Перейдите к ветке, из которой вы создали запрос на перенос:

$ git checkout pull-request-branch

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

git checkout origin/master -- src/main/java/HelloWorld.java

Зафиксируйте и нажмите на пульте дистанционного управления:

git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch

Ответ 2

Вы хотите внести изменения в фиксацию, а затем сделать силовое нажатие, которое обновит ветвь с помощью PR.

Вот как я рекомендую вам это сделать:

  • Закройте PR, чтобы тот, кто его просматривает, не втягивает его, пока вы не внесете свои изменения.
  • Сделайте комманду reset для фиксации до вашего нежелательного изменения (если это последнее комманда, вы можете использовать git reset --soft HEAD^ или если это другая фиксация, вы хотели бы заменить "HEAD ^" на идентификатор фиксации)
  • Отменить (или отменить) любые изменения в файле, который вы не планировали обновлять
  • Сделайте новый commit git commit -a -c ORIG_HEAD
  • Принудительное нажатие на ветку
  • Re-Open Pull Request

Теперь, когда ваш филиал обновлен, запрос Pull будет содержать ваши изменения.

Ниже приведена ссылка на документацию Gits, где у них есть хороший пример в разделе Отменить фиксацию и повторить.

Ответ 3

Запрос на перенос - это просто: запрос на объединение одной ветки в другую.

Ваш запрос на тягу не "содержит" ничего, это всего лишь маркер, говорящий "пожалуйста, объедините эту ветвь в эту".

Набор изменений PR-шоу в веб-интерфейсе - это всего лишь изменения между ветвью цели и веткой функций. Чтобы изменить запрос на вытягивание, вы должны изменить ветвь вашей функции, возможно, с помощью нажатия кнопки на ветвь функции.

В вашем случае вы, вероятно, захотите внести поправки в свою фиксацию. Не уверен в вашей конкретной ситуации, но некоторая комбинация интерактивной перестройки и add -p должна сортировать вас.