Bitbucket: Git Checkout для конкретного Rvision от удаленного, как новый Barnch - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь проверить конкретную ревизию из удаленной ветви testing как новую локальную ветвь.

git checkout cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715 -b milestone2-fixes  origin/testing

Но я получил следующую ошибку

fatal: Cannot update paths and switch to branch 'milestone2' at the same time.
Did you intend to checkout 'origin/testing' which can not be resolved as commit?

Но git branch -r дает все мои удаленные ветки

Вот вывод

origin/HEAD -> origin/master
origin/master
origin/milestone3
origin/testing

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

Вы дали git checkout три интересующих предмета (я немного изменил порядок здесь для целей обсуждения, но эффект тот же):

  1. -b milestone2-fixes
  2. cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
  3. origin/testing

Первая часть, -b milestone2-fixes, сообщает git checkout, что она должна создать новую ветвь ипереключитесь на ту ветку, что нормально.Однако эта форма git checkout, т.е. с использованием -b, может взять не более одного дополнительного объекта интереса.Вы должны выбрать, какой дополнительный элемент отбрасывать.

Вы можете запустить:

  • git checkout -b milestone2-fixes cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

    Это создает ветку с коммитом cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715 какего хэш-идентификатор, проверяющий фиксацию cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715 в процессе.Новая ветвь не имеет восходящего набора.

  • git checkout -b milestone2-fixes origin/testing

    Это создает ветку с любым хеш-идентификатором origin/testing в качестве хеш-идентификатора новой ветки, проверяякоторые совершают в процессе.Новая ветвь имеет origin/testing в качестве восходящего потока.

Если origin/testing преобразуется в хэш-идентификатор cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715, вторая форма команды выполняет все, что вы хотите сразу.Если нет, используйте первую форму команды, и если вы все еще хотите, чтобы origin/testing был установлен как восходящий поток новой ветви, используйте git branch --set-upstream-to, чтобы установить это позже.

0 голосов
/ 18 мая 2018

Не указывайте имя удаленной ветви и порядок замены аргументов:

git checkout -b milestone2-fixes cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

Синтаксис: checkout -b <new branch name> <starting point>.Нет необходимости в имени удаленной ветви, поскольку вы уже указали один точный коммит.

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