Git local игнорирует символическую директорию - PullRequest
0 голосов
/ 04 июля 2018

У меня есть два репо. Они оба включают одно и то же поддерево git.

Во время разработки я хочу создать символическую ссылку на один поддерево dir на другое.

/app1
  - subtree
/app2
  - subtree -> /app1/subtree

Когда я запускаю git status на app2, я вижу, что app2/subtree и его содержимое были удалены.

Я хочу, чтобы git игнорировал удаленные файлы для /app2 репо.

И я хочу иметь возможность совершать коммиты на app2 (ничего не трогая в subtree).

Я попытался добавить subtree/ к .git/info/exclude, но удаленные файлы по-прежнему отображаются в git status.

Я тоже пытался git update-index --assume-unchanged subtree/, и он тоже не работал.

1 Ответ

0 голосов
/ 04 июля 2018

Прочитав этот ответ Я решил, что мои проблемы были вызваны:

  • Не работает update-index до удаления файлов.
  • Не используется подстановочный знак для файлов, игнорируемых с update-index.

Запуск этого перед удалением файлов работает:

git update-index --assume-unchanged subtree/**/*(.)

ПРИМЕЧАНИЕ: (.) был необходим, потому что без него я получил fatal: Unable to mark file subtree/some-dir. А использование **/*.* исключит файлы типа Vagrantfile.

Используйте git ls-files -v | grep '^h', чтобы проверить, какие файлы assume-unchanged.

Вы можете добавить их как git aliases здесь .

...