Создание git ветки другой ветки
Я хочу создать локальную ветку на основе другой ветки. Например, я печатаю:
git checkout -b feature1 release1.1.3
После этого я получаю:
fatal: git checkout: updating paths is incompatible with switching branches.
В чем проблема с этим?
Ответы
Ответ 1
Чтобы создать ветвь на основе другой ветки, самым простым способом является сначала проверить базовую ветвь, а затем создать новую ветку. Если я правильно понимаю ваш вопрос, это именно то, что вы хотите сделать.
Теперь, когда вы используете флаг -b
в своем ветвлении, у вас могут быть рабочие изменения, которые вы хотите сохранить. Если это случай, вы должны нажать их на кошельке, проверить базовую ветку, создать новую ветку и всплыть.
Ответ 2
Сделайте git pull
первым, чтобы убедиться, что все локальные ветки обновлены. А затем вы можете разрезать ветку.
Синтаксис
$ git checkout -b <branch> --track <remote>/<branch>
или
$ git checkout <remote>/<branch> -b <branch>
Ответ 3
Вы имели в виду git branch feature1 release1.1.3
, предполагая, что ветвь с именем feature1 должна основываться на фиксации release.1.1.3. То, что вы назвали там, должно также работать, но у вас также есть фактическая папка с именем "release1.1.3" в вашем рабочем дереве, а git путается о том, имеете ли вы значение ветки/тега или папки.
Вы можете попробовать просто указать фактический идентификатор commit версии release.1.1.3.
Ответ 4
git branch <new-branch-name> <existing-branch-name>