Допустим, у меня есть это рабочее дерево, которое уже отслеживалось git.
.
├── parent
│ ├── child1
│ | └── file1.txt
│ ├── child2
│ | ├── file2.txt
│ | └── grandchild
│ | └── file3.txt
│ ├── somefile.txt
│ └── anotherfile.txt
|
Я хочу пометить все отслеживаемые файлы внутри parent
, чтобы любые изменения, внесенные в них, больше не отслеживались git, который в итоге включал бы somefile.txt
, anotherfile.txt
, file1.txt
, file2.txt
, file3.txt
.
.gitignore
работает только с неотслеживаемыми файлами, поэтому я использую --skip-worktree
.
Я пытался:
1.
git update-index --skip-worktree parent/
дал мне Ignoring path parent/
, но когда я проверяю git ls-files -v
, он все равно показывает мне, что файлы, которые я хочу пропустить, все еще отслеживаются.
2.
git update-index --skip-worktree parent/*
Он дал мне fatal: Unable to mark file parent/child1
, поэтому он не может пометить каталог и все, что в нем содержится.
Как я могу сделать это, не добавляя вручную каждый файл внутри parent
?