Почему git reset 'HEAD @ {1}' выдает ошибку? - PullRequest
0 голосов
/ 11 мая 2018

Когда я делаю рефлог, я вижу

C:\dev\myproj>git reflog
dfeb578 HEAD@{0}: checkout: moving from release to master
15a6cd0 HEAD@{1}: reset: moving to 15a6cd055d1ce2f1e4592bc3dcb1370c0a330dd3
d5d97e7 HEAD@{2}: merge master: Merge made by the 'recursive' strategy.
b215102 HEAD@{3}: checkout: moving from master to release

Я хочу сбросить HEAD @ {1}, поэтому я делаю

git reset 'HEAD@{1}'

Но это возвращает ошибку:

C:\dev\myproj>git reset 'HEAD@{1}'
fatal: ambiguous argument ''HEAD@{1}'': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Проверяя состояние моей ветки, я вижу

> git branch                                           
  JIRA-826-recurse-folder-nodes                        
  JIRA-827-import-duplicate-nodes-fails                
  admin-api                                            
* master                                               

Это в Windows, тот же результат с использованием командной оболочки и Git Bash.

Что я делаю не так

1 Ответ

0 голосов
/ 11 мая 2018

Вы должны увидеть другой результат с bash.

Проблема в том, что cmd (в отличие от оболочек Unix) не использует ' для цитирования и передает их в git буквально. Из сообщения об ошибке видно, что git пытался найти ветку / файл, буквально называемый 'HEAD@{1}' (включая кавычки).

Fix:

git reset HEAD@{1}

(или

git reset "HEAD@{1}"

, если вы действительно хотите добавить кавычки.)

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