Как git восстановить ${project.build.directory} перед фиксацией

#git #maven #zsh

Вопрос:

Я хочу удалить всю папку «${project.build.directory}» из отслеживаемых изменений git перед фиксацией. В этой сгенерированной папке сборки находятся десятки, если не сотни файлов git. Как я могу удалить его из отслеживаемых изменений? Когда я пытаюсь сделать

 git restore --staged ${project.build.directory}
 

Я получаю «zsh: плохая замена» и не могу восстановить состояние git папки maven. Я хочу восстановить состояние до того, как я случайно добавил папку сборки в свою отслеживаемую папку, а также добавить каталог сборки проекта в свой .gitignore, чтобы это не повторилось снова

Комментарии:

1. project.build.directory не является допустимым именем переменной оболочки. Что заставляет вас думать ${project.build.directory} , что это имеет какое-то значение?

2. каталог ${project.build.directory} отображается в списке измененных и отслеживаемых файлов/каталогов при выполнении статуса git и прочего

3. Вы имеете в виду, что это имя файла? У вас есть файл , имя которого буквально $ , то { , то p и т. Д., Вплоть до финала } ? Это довольно злое имя файла для создания программного обеспечения (возможно, ошибка), но вам просто нужно указать путь, чтобы сообщить zsh, что $ это не директива для zsh , т. Е. Что zsh должен просто передать имя файла Git . Это чисто проблема оболочки: все интерпретаторы командной строки имеют какой-то синтаксис, и zsh используется ${...} для обозначения переменных оболочки (bash и sh используют один и тот же синтаксис), поэтому вы должны сказать оболочке: «не для вас».

Ответ №1:

Стандартный подход заключается в добавлении папки сборки в .gitignore файл.

zsh жалуется, что ${project.build.directory} это не существующая переменная.

Удаление каталога из отслеживаемых изменений производится путем git rm -r --cached <DIRECTORY> .

Я не уверен, что вы не ошибаетесь, отслеживая и инсценируя. Отслеживаемые средства уже зарегистрированы, а поэтапные средства добавлены, но еще не зарегистрированы. Для постановочных материалов вы можете разобрать их с помощью git reset <PATH> .

Комментарии:

1. Я НЕ хочу фиксировать каталог сборки. я случайно сделал добавление мерзавца . и добавил папку сборки, и в ней появились сотни файлов…. не знаю, как его восстановить, прежде чем я выполнил эту команду.

2. Я пытался это сделать git rm -r --cached ${project.build.directory} , но он жалуется на zsh: плохая замена.

3. Откуда берется идентификатор «${project.build.directory}»?

4. это локальный каталог сборки maven

5. zsh не знает эту переменную, просто дайте ей реальное имя каталога.