git reset запитує "більше?"


81

Командний рядок Git Windows, версія 1.8.0

Наразі у мене є 3 фіксації та коли я набираю текст

git reset --soft HEAD^

виходить нова лінія

More?

та миготливий курсор для введення

Тоді, що б я не набирав, я завжди отримую

fatal: неоднозначний аргумент 'HEAD': невідома редакція або шлях не в робочому дереві. Використовуйте '-', щоб відокремити шляхи від версій, наприклад: 'git [...] - [...]

Усі інші команди чудово працюють в одній папці.


13
Якщо ви використовуєте Windows, я міг би це зробити git log HEAD^^, я вважаю.
Ім'я McChange

@NameMcChange, якщо ви зробите свій коментар відповіддю, тоді мою відповідь можна буде видалити.
mcdon

@mcdon Не, ти можеш це
назвати

Щоб уникнути будь-яких інших видів екранування в командах git, я почав використовувати git bash замість командного рядка windows. Git для Windows забезпечує емуляцію BASH, яка використовується для запуску Git із командного рядка. Отже, якщо ви встановите git для Windows, ви зможете запускати свої команди git в Git Bash. Я віддаю перевагу цьому, оскільки таким чином ви будете використані для написання команди git в агностичному способі платформи. Ваші команди не будуть відрізнятися від тих, які ви писали в машинах Linux або Mac.
adnan2

Відповіді:


72

подивіться, чи git log HEAD^працює. Якщо ні, можливо, це щось із вашою локалізацією або терміналом. Здається, це фільтрує ^символ. Як обхідний шлях, використовуйте git reset --soft HEAD~1поки.


git log HEAD^викидає точно такий самий сценарій, хоча git reset --soft HEAD~1обхідний спосіб працює нормально
norbertas.gaulia

1
Дякую, обхідний шлях допомагає. Більше більше не просить.
Дмитро Пракапенка

39

Ваша оболонка інтерпретує ^символ як символ продовження рядка. Або просто уникайте використання, ^як пропонує Адам :

git reset --soft HEAD~1

або цитуйте аргумент, щоб оболонка не намагалася його інтерпретувати (я не впевнений, яку саме оболонку ви використовуєте, але я б здивований, якщо це не спрацює):

git reset --soft "HEAD^"

Це досить поширена проблема :)
Ромен

28

Символ ^ - це вхідний символ у командному рядку Windows. Використовуйте ^^ замість ^.

git reset --soft HEAD^^

Дивіться Rob Van Der Woude в Scripting Сторінки Детальну інформацію про екранують символів .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.