У меня есть репозиторий gitlab, я сделал коммит и слияние.

I want to roll back my history my commit and merge history.

My local repo log.

Я хочу быть на id: 9bc6dd4.

Я делаю попытки:

git log --oneline --graph -5
git reset --hard 9bc6dd4
git clean -f -d
git fetch --all
git push -u origin +master

Когда я нажимаю на удаленное репо, никаких изменений в удаленном репо.

1
pandaXcore 15 Сен 2021 в 09:07

2 ответа

Лучший ответ

В тексте вашего вопроса есть:

Я делаю попытки:

git log --oneline --graph -5
git reset --hard 9bc6dd4
git clean -f -d
git fetch --all
git push -u origin +master

В то время как ваше изображение с пометкой «мой локальный журнал репо» начинается с:

user@user-dekstop:~Desktop/work/front$ git log --oneline --graph -5
*   4efe036 (HEAD -> development, origin/mybranch, ...) ...

При условии, что я не допустил опечаток при транскрипции. Это означает, что ваша текущая ветка - development, а не master. Обратите внимание на текст HEAD -> development. Следовательно, ваш git reset изменит название вашей ветки development. Ваш git push, однако, требует подтолкнуть master к master--force через +). Поскольку ваш собственный master не перемещался и по-прежнему называет тот же коммит, что и origin/master, этот git push не действует.

1
torek 15 Сен 2021 в 06:21

Если вы намерены вернуть удаленную ветку master для фиксации 9bc6dd4, есть несколько способов сделать это:

А. просто проинструктируйте git принудительно нажать 9bc6dd4 на master:

git push --force-with-lease origin 9bc6dd4:master

# anything that points to '9bc6dd4' can be used :
# after your 'git reset --hard' command : HEAD or development point to that commit
git push --force-with-lease origin HEAD:master
git push --force-with-lease origin development:master

Б. сначала переключитесь на локальную ветку master, сбросьте локальную ветку, затем принудительно нажмите:

git checkout master
git reset --hard 9bc6dd4
git push --force-with-lease

Если ваша локальная ветка master настроена на отслеживание origin/master, то последняя команда будет эквивалентна git push --force-with-lease origin master:master.

0
LeGEC 15 Сен 2021 в 08:51