Как заменить полное содержимое локального каталога git удаленным каталогом (но не всем репо)? - PullRequest
0 голосов
/ 10 апреля 2020

Упрощенно, у меня есть хранилище с несколькими каталогами, конечно: Dir1, Dir2, ...

Я хочу сделать git pull origin <remote_branch>, но таким образом, чтобы Dir1 из remote_branch полностью перезапишет Dir1 из локального, независимо от содержимого локального Dir1. Любой другой каталог должен вести себя нормально, как при обычном извлечении (т. Е. Конфликты, обновления, что угодно).

Может ли это быть сделано элегантным образом с использованием только git?

1 Ответ

3 голосов
/ 10 апреля 2020

, так как git 2.23 у вас есть новое умение git restore

git restore --source=origin --staged --worktree -- <pathspec>

эта работа как сложная перезагрузка для одного или нескольких каталогов, она заменяет индекс и рабочее дерево

вы может передавать более одного каталога:

git restore --source=origin --staged --worktree -- dir2 dir3

для пути, по которому вы можете искать путь c в do c https://git-scm.com/docs/gitglossary

путь также может быть определен в файле, используя --pathspe c -from-file =

git restore --source=origin --staged --worktree  --pathspec-from-file=pathspec.txt

, в файле обращайте внимание на пробелы

dir2

dir3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...