GIT: отмена последнего коммита для разработки - PullRequest
0 голосов
/ 15 октября 2019

Итак, одна конкретная ветвь была вынуждена развиваться, но теперь я хочу отменить это и отменить все последние изменения коммита.

Извините, я знаю, что это было описано во многих постах, но я как-то застрял в одномstep.

Что я прочитал, так это то, что я могу выполнить следующую команду

git reset HEAD~1
and also tried this git reset --soft HEAD~1

Когда я запускаю приведенную ниже команду, я вижу в своей визуальной студии, что есть много несостоявшихся изменений, потому чтовышеупомянутого шага, который я на самом деле хочу отменить, так как я хочу отменить их.

Теперь, что мне теперь делать, если я отменяю изменения и пытаюсь зафиксировать, я не вижу никакой опции для фиксации.

Есть ли возможность отменить эти изменения и просто сделать коммит напрямую. Возможно, я пропустил какой-то важный шаг, но застрял здесь.

Если кто-то может поделиться этим шагом, пожалуйста.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

После того, как вы сделаете git reset HEAD~1, изменения в файлах будут такими, как если бы они не были зафиксированы (они были, но вы возвращаете индекс, поэтому он будет выглядеть так, как будто это не так).

Это означает, что вы находитесь в истории, когда вы извлекаете файлы, они будут на этапе предварительной фиксации, а это означает, что если вы не хотите сохранять какие-либо из этих изменений,Вы можете использовать

git checkout .

В качестве альтернативы, вы могли бы использовать git revert hash_of_commit, который бы создал новый коммит с "инверсией" внесенных вами изменений, вернув файлы обратнов их состояние.

0 голосов
/ 15 октября 2019

--mixed - опция по умолчанию для сброса git.

При опции --soft изменения вносятся в индекс и размещаются поэтапно. С параметром --medium индекс изменяется, а изменения не обрабатываются (изменения все еще будут в рабочем каталоге). С опцией --hard индекс изменяется, и изменения также удаляются из рабочего каталога.

git reset HEAD~1 использует опцию по умолчанию --mixed и помечает изменения как неотмеченные и присутствующие в рабочем каталоге.

Вы можете запустить git reset --hard, чтобы очистить рабочий каталог. Имейте в виду, что после выполнения этой команды вы навсегда потеряете изменения в рабочем каталоге.

Для получения более подробной информации вы можете обратиться к этой ссылке .

Примечание: Пожалуйста, используйте git revert <commit> для возврата коммитов.

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