Я работаю над некоторым программным обеспечением на стороне сервера, чтобы выполнить слияние. Используя git worktree
, вы можете проверить данную ветку для голого репо и слить в нее другую ветвь. Это очень быстро, даже с большими репозиториями.
Единственное исключение, похоже, объединяется в master
. Когда я делаю git worktree add /tmp/path/to/worktree master
, я получаю сообщение об ошибке:
fatal: 'master' уже проверен на '/path/to/bare/repo'
Но это явно неверно, git worktree list
дает:
/path/to/bare/repo (голый)
... и, конечно же, на этом пути нет дерева работы, а только файлы с открытым репо, которые вы ожидаете.
ОБНОВЛЕНИЕ: Я связался с сопровождающими git, и они согласны с тем, что это может быть ошибка. У меня есть предварительный патч от них, чтобы проверить. Кроме того, я также смог воспроизвести желаемое поведение без патча.
В этот момент я не совсем уверен, что такое граничное условие или основная причина, и может быть исправление, появившееся из git.