Как удалить git коммиты, но сохранить изменения? - PullRequest
1 голос
/ 13 октября 2019

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

1 Ответ

1 голос
/ 13 октября 2019

Насколько я понимаю, вы хотите удалить свой последний коммит, который содержит новый большой файл (я полагаю, у вас есть только этот файл в вашем коммите), поэтому:

A- если выможет принудительно сделать коммит в удаленном репозитории (и если вы не будете мешать своим коллегам в случае, если они уже вытащили ваш коммит):

1 - удалить последний коммит без потери изменений: git reset HEAD~1

2 - Добавьте ваш большой файл в .gitignore, вместо этого вы можете добавить его в .git/info/exclude, чтобы игнорировать файл локально в вашей рабочей копии.

3-Совершите .gitignore, если вы его изменили.

4- git push --force origin <your_branch>

B- , если вы не можете / не будете использовать git push --force:

1- Сделайте копию вашего файла где-нибудь за пределами вашего локального хранилища.

2- Отмените последний коммит: git revert HEAD

3- Верните ваш файл обратно в локальныйхранилище.

4- Добавьте его в свой .gitignore или .git/info/exclude (как вам нравится!).

5- git push origin <your_branch>

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