Удаление одного и того же файла из нескольких коммитов, чтобы его не было в PR

#git #github

#git #github

Вопрос:

Я использую фреймворк JS, который создает большой файл пакета. В целях тестирования я создал и зафиксировал пакет, чтобы я мог протестировать изменения на тестовом сервере. У меня есть несколько коммитов, которые включают в себя этот пакет, main.js , но мой менеджер предпочитает не объединять пакеты. Как я могу исключить этот файл при создании PR?

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

Комментарии:

1. Самый простой способ — создать новую ветку без этих нежелательных файлов и отправить туда запрос на извлечение…

Ответ №1:

Я понял следующее: файл main.js существует master , и если бы вы следовали рекомендациям, он никогда бы не был изменен в вашей ветке.
Вы хотели бы, чтобы ваш PR не упоминал файл main.js как измененный файл.


Если это действительно то, что вы ищете: просто восстановите файл main.js до содержимого, в котором он был master , когда ваша ветка разветвлялась :

 # find the merge base which github will use for your PR :
git merge-base master my/branch

# use the sha1 above to restore main.js :
git checkout <merge-base> -- main.js
git commit
git push
  

Файл main.js не должен отображаться как измененный в вашем PR.