Какие команды git worktree мне следует использовать, чтобы иметь два локальных каталога "совместно использовать один и тот же пульт" - PullRequest
1 голос
/ 23 января 2020

В Mercurial, когда у меня есть извлеченный репозиторий в моем локальном каталоге "C: \ my-projects \ my-old-hg-repo-checkout", с " hg share " Расширение включено, команда hg share C:\my-projects\my-old-hg-repo-checkout C:\my-projects\my-new-hg-repo-checkout создаст новый локальный каталог, который «совместно использует тот же удаленный» (т.е. если я извлекаю удаленные изменения в одном каталоге, они видны в другом).

Как именно я могу сделать то же самое с локальной проверкой каталога git, "C: \ my-projects \ my-old- git -repo-checkout", которую я хочу скопировать в "C: \ my-projects \ my-new- git -repo-checkout" (при этом гарантируя, что они "совместно используют один и тот же удаленный", т.е. извлечение удаленных изменений из одного каталога сделает их видимыми в другой)?

1 Ответ

1 голос
/ 24 января 2020

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

git clone <url of remote repo>
cd <directory>
git worktree add <path-to-new-directory> <branch_name>

Теперь у вас есть два рабочих дерева для репо git, каждый в разных каталогах. Вы можете добавить столько рабочих деревьев, сколько пожелаете, с помощью дополнительных команд git worktree add. Обратите внимание, что на двух рабочих деревьях не может быть извлечена одна и та же ветка.

git fetch обновляет локальное репо с удаленного компьютера, и, поскольку оба рабочих дерева подключены к одному и тому же локальному репо, у вас будет обновленная информация на обоих рабочих деревьях.

См. https://git-scm.com/docs/git-worktree для документации по команде git worktree.

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