Как мне вернуть репозиторий Git к предыдущей фиксации?

CREATE USER username SUPERUSER  password 'userpass';
ALTER USER username set default_transaction_read_only = on;
7259
задан Zoe 10 June 2019 в 00:05
поделиться

2 ответа

Если Вы хотите удалить попытку фиксации конца это:

git reset --hard commitId //delete your local commits
git push -f origin yourOrigin //delete your github remotes commits
1
ответ дан 22 November 2019 в 19:37
поделиться

Идея: Вы в основном хотите заменить текущее рабочее древовидное состояние тем от предыдущей фиксации и затем создать фиксацию из него. Проигнорированные файлы не должны лучше всего быть изменены. Вот то, как:

  1. Emtpy рабочее дерево *.

    git rm -r --cached . && git clean -f -d
    
  2. Приносят рабочее дерево в состоянии, которое мы хотим **.

    git checkout 0d1d7fc3 .
    
  3. Создают вернуться фиксацию.

    git add --all && git commit -m "revert to 0d1d7fc3"
    
<час>

Сначала я думал, что ответ Yarins будет лучшим, но он не работает на фиксации слияния. Это решение делает.

Дополнительно это ничего не удаляет (продвинутый или upushed) из истории. Это производит одну чистую фиксацию, которая представляет состояние, к которому мы хотим вернуться назад.

<час>

* путем удаления неотслеженный, но не проигнорированные файлы (те определенные в .gitignore) от рабочего дерева. Рабочее дерево пусто за исключением проигнорированных файлов, которые мы хотели сохранить (если не опция specifiy -x для clean)

**, Когда путь определяется (здесь: .), контроль оставляет ГОЛОВУ В ПОКОЕ.

0
ответ дан 22 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: