Git тянуть, объединить изменения это worktrees? - PullRequest
0 голосов
/ 08 февраля 2019
  • Я клонирую репозиторий из github
  • Я создаю несколько ширины рабочих деревьев:
 git worktree add -path- -branch-

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

1 Ответ

0 голосов
/ 08 февраля 2019

В зависимости от того, какие команды вы используете для «извлечения изменений», ответ может быть «нет» или «не совсем».

Самый простой способ получить обновления с пульта - git fetch. Это обновлениебазу данных (путем добавления объектов из удаленного узла, если они еще не были включены в локальный репозиторий), и может обновлять ссылки (обычно она обновляет ссылки удаленного отслеживания, относящиеся к этому удаленному.локальные ветви, но это редко хорошая идея.) В любом случае fetch не выполняет слияния, либо оставляет локальные ветви в покое, либо обновляет их для соответствия удаленным и блокирует любые локальные изменения (опять же,по умолчанию они оставлены в покое.)

После выборки вы можете cd перейти на рабочее дерево, где у вас есть выделенная локальная ветвь, и merge соответствующую ссылку для удаленного отслеживания в эту ветку (или сделатьперебазирование с аналогичным подходом).

git pull - это сокращение для извлечения с последующим слиянием. (Ну ... опять же, это дефолтт.Вы можете изменить конфигурацию так, чтобы она стала «извлекать, а затем делать ребазинг» ...) Так что, если вы находитесь в рабочем дереве, где у вас есть выделенная ветвь, вы можете сделать git pull, и это может инициироватьслиться с этой ветвью (используя это рабочее дерево и его промежуточную область).

Но если вы ищете одну команду, которая могла бы инициировать слияние со всеми рабочими деревьями (что-то вроде того, как это звучит у вас ')повторяю), вам, вероятно, придется написать что-то подобное.(И, честно говоря, я не рекомендую такую ​​вещь.)

...