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

avatar
Linkx_lair
1 июля 2021 в 15:48
61
1
0

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

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

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

Источник
torek
2 июля 2021 в 14:01
0

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

Linkx_lair
2 июля 2021 в 16:14
0

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

torek
3 июля 2021 в 09:19
0

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

Ответы (1)

avatar
Roman Pavelka
1 июля 2021 в 15:55
1

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

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

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

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

Linkx_lair
1 июля 2021 в 15:58
0

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

Linkx_lair
1 июля 2021 в 16:00
0

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

Roman Pavelka
1 июля 2021 в 16:01
0

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

Linkx_lair
1 июля 2021 в 16:03
0

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

Roman Pavelka
1 июля 2021 в 16:06
1

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