(я предполагаю <commit_id>
- это имя объекта X4
...)
Эти команды действительно дадут вам то, что вы хотите локально. (Возможно, вы захотите использовать git reset --hard
, чтобы сохранить рабочее дерево и индексировать то же самое, что и коммит, в который вы сбрасываете, но, как обычно, будьте очень осторожны, чтобы git status
был чист, прежде чем использовать эту команду.)
Если впоследствии вы попытаетесь отправить master на GitHub, он скажет вам, что все уже обновлено, потому что master
на GitHub - это один коммит вперед. Вы можете принудительно нажать, чтобы мастер сбросился на GitHub, но это переписывает публичную историю, поэтому вы должны делать это только в том случае, если (а) вы единственный, кто получил master
с GitHub или (б) вы можете сообщить сотрудникам, что делать, чтобы они случайно не слились Y
обратно. Если все в порядке, вы можете сделать:
git push --force origin master
... а затем master
на GitHub будет такой же, как ваша локальная версия.