Как удалить удаленный коммит без удаления изменений - PullRequest
0 голосов
/ 20 марта 2020

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

Есть ли способ сделать это? Я попытался git reset, но это означало бы, что я потеряю изменения. Есть ли способ в Squa sh коммитов?

1 Ответ

0 голосов
/ 20 марта 2020

С git возможно объединить sh предыдущих коммитов в один. Я бы предложил добавить еще один коммит. И squa sh - коммит с неверным пользователем с последним добавленным вами коммитом.

Предположим, у вас есть следующие коммиты из git log --oneline -2.

  • xf71a11 - последний коммит
  • 1a9ddqw - фиксация сделана не с тем пользователем

Чтобы выполнить sh фиксация сделана с неверным пользователем, вы должны использовать команду git:

git rebase -i HEAD~2

, который откроет ваш редактор со следующим:

pick xf71a11 - last commit

pick 1a9ddqw - commit done with the wrong user

Измените его следующим образом:

pick xf71a11 - last commit

squash 1a9ddqw - commit done with the wrong user

Очень важно : помните, что с помощью этого действия изменяет история коммитов. Это может привести к несоответствию истории git между разработчиками, которые извлекли историю изменений до ваших изменений.

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