Исправление грязной истории коммитов в Git - PullRequest
0 голосов
/ 03 мая 2019

Я внес некоторые изменения, а затем зафиксировал и отправил их на GitHub.

Однако, во время моего второго коммита я понял, что мне не нужен какой-то код, который я вставил в первый коммит. Я удалил его и снова нажал.

Но теперь история коммитов довольно грязная (один коммит добавляет код в файл, следующий коммит удаляет его).

  • Смогу ли я это исправить, если просто сдавить его (будет ли он игнорировать код, который был добавлен, а затем удален)?
  • Если я верну его обратно в исходное состояние и снова зафиксирую свои последние изменения, как именно это отразится на GitHub после нажатия на ветку?

1 Ответ

1 голос
/ 03 мая 2019

Да, вы должны иметь возможность просто раздавить его с помощью интерактивной перебазировки (см. https://git -scm.com / book / ru / v2 / Git-Tools-Rewriting-History )

Независимо от того, делаете ли вы это или возвращаетесь в исходное состояние, а затем добавляете коммит, содержащий только ваши последние изменения, чтобы получить это состояние на GitHub, вам нужно будет принудительно нажать, так как удаленный репозиторий будет иметь историю, отличную от вашей. Если вы сотрудничаете с другими, вы можете использовать опцию --force-with-lease, чтобы убедиться, что никто не нажимал со времени вашего последнего нажатия. После принудительного нажатия удаленная ветвь должна выглядеть идентично вашей локальной копии.

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