Моя проблема в том, что я изменил файл, например: README, добавил новую строку «это для моей тестовой строки» и сохранил файл, затем я выполнил следующие команды
git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README
#
no changes added to commit (use "git add" and/or "git commit -a")
git add README
git commit -a -m 'To add new line to readme'
Я не отправлял код на github, теперь хочу отменить эту фиксацию.
Для этого я использовал
git reset --hard HEAD~1
Но я потерял недавно добавленную строку «это для моей тестовой строки» из файла README. Этого не должно происходить. Мне нужно, чтобы контент был там. Есть ли способ сохранить содержимое и отменить локальную фиксацию?
git revert
, который создает новую фиксацию с обратной разницей отмененной фиксации. Сброс просто указывает вашу текущую ветвь на другую фиксацию, в данном случае на ту, которая была перед фиксацией, которую вы хотите забыть. - person Cascabel   schedule 31.01.2011git-commit
может прерваться, если вы оставите сообщение пустым, поэтому, если вы на самом деле не завершили фиксацию, это может быть полезно. - person GKFX   schedule 24.02.2014