2016-04-21 4 views
5

У меня есть запрос на перенос, который открывается, где у меня есть файлы project.lock.json, которые я не хочу сливать при слиянии моей ветки с основной ветвью. Есть ли способ удалить thos project.lock.json файлов из моего запроса на Pull?Как удалить файл из запроса Git Pull

ответ

1

Вам необходимо удалить файл, зафиксировать изменения и сделать следующий щелчок по вашей ветке.

Если вы хотите оставить файл в своей ветке, но не слить его в главную ветку, вы можете удалить его в одном коммите, а затем добавить снова в другой. Git позволяет вам вручную принимать определенные фиксации, используя git-cherry-pick. Вы можете принять каждое сообщение за исключением того, в котором вы снова добавили этот файл.

0

Если они уже совершены, нет простого способа, о котором я могу думать. Наверное, самый простой способ и своего рода работа - переместить их из папки проекта, удалить их из рабочей копии git, повторить, чтобы у вашей ветви не было файлов JSON. Тогда, когда вы объедините файлы JSON, вы не перейдете.

+2

Не отобразите это изменение как «файл удален»? Если я полностью удалю этот файл, а затем объединить запрос на извлечение, он также удалит этот файл из основной ветви, верно? – tavier

0

Я думаю, что вы можете просто переопределить свой проект.lock.json с началом и фиксацией.

2

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

список удаленных филиалов

git branch -va 

Кассовые ПР филиал файл

git checkout origin pr_branch 

ПЕРЕЗАПИСАТЬ pr_branch с файлом other_branch в

git checkout other_branch -- ./path/to/file 

фиксируете изменения

git commit -m "overwrite with other_branch's" 

нажать ваши изменения

git push origin pr_branch 
0

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

git checkout master 
git pull 
git checkout <your-branch> 
git rebase master 
git push 
Смежные вопросы