Bitbucket:git作为一个新的barnch从远程签出到特定的rivision

Bitbucket:git作为一个新的barnch从远程签出到特定的rivision,git,bitbucket,Git,Bitbucket,我正在尝试从远程分支测试作为新的本地分支签出一个特定的修订版 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/test

我正在尝试从远程分支
测试
作为新的本地分支签出一个特定的修订版

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

保留远程分支名称和参数的交换顺序:

git checkout -b milestone2-fixes cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

语法是:
checkout-b
。不需要远程分支名称,因为您已经指定了一个确切的提交。

请取消远程分支名称和参数交换顺序:

git checkout -b milestone2-fixes cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

语法是:
checkout-b
。不需要远程分支名称,因为您已经指定了一个确切的提交。

您已经给出了
git checkout
三个感兴趣的项目(为了讨论的目的,我在这里稍微更改了顺序,但效果相同):

  • -b milestone2修复程序
  • cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
  • origin/testing
  • 第一部分,
    -b milestone2 fixes
    ,告诉
    git checkout
    ,它应该创建一个新分支并切换到该分支,这很好。然而,这种形式的
    git签出
    ——即使用
    -b
    ——最多可以获取一个额外的感兴趣项目。您必须选择要删除的附加项

    您可以运行:

    • git checkout-b milestone2修复了cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

      这将创建以commit
      cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
      作为其哈希ID的分支,并在过程中签出commit
      cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
      。新分支没有上游集

    • git checkout-b milestone2修复原点/测试

      这将创建一个分支,该分支使用
      origin/testing
      拥有的任何散列ID作为新分支的散列ID,并在过程中签出提交。新分支已将
      origin/testing
      设置为其上游


    如果
    origin/testing
    解析为hash ID
    cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
    ,则命令的第二种形式会立即执行您想要的所有操作。如果没有,请使用命令的第一种形式,如果您仍然希望
    origin/testing
    设置为新分支的上游,请使用
    git branch--set upstream to
    在之后进行设置。

    您已经给出了
    git checkout
    三个感兴趣的项目(为了便于讨论,我在这里稍微改变了一下顺序,但效果是一样的):

  • -b milestone2修复程序
  • cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
  • origin/testing
  • 第一部分,
    -b milestone2 fixes
    ,告诉
    git checkout
    ,它应该创建一个新的分支并切换到该分支,这很好。但是,这种形式的
    git checkout
    ,即使用
    -b
    ,最多可以添加一个感兴趣的项目。您必须选择要删除的附加项目

    您可以运行:

    • git checkout-b milestone2修复了cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715

      这将创建以commit
      cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
      作为其哈希ID的分支,并在过程中签出commit
      cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
      。新分支没有上游集

    • git checkout-b milestone2修复原点/测试

      这将创建一个分支,该分支使用
      origin/testing
      的任何哈希ID作为新分支的哈希ID,并在过程中签出提交。新分支将
      origin/testing
      设置为其上游


    如果
    origin/testing
    解析为hash ID
    cf15dd0dcb0c8b0de0bd0c96c9cfaa897c961715
    ,则命令的第二种形式会立即执行您想要的所有操作。否则,使用命令的第一种形式,如果仍然希望
    origin/testing
    设置为新分支的上游,则使用
    git branch--set upstream to
    to以后再设置。

    您在这里尝试做什么?创建新分支?将现有分支重置为提交?其他操作?从该特定委员会创建新分支您在这里尝试做什么?创建新分支?将现有分支重置为提交?其他操作?从该特定委员会创建新分支不要瘦k我们真的需要完整的40个字符的SHA-1散列。10个字符可能就足够了。@TimBiegeleisen:OP包含了全部,我是谁,可以说出repo中有多少个提交?如果它有万亿个提交,我们可能需要非常长的散列。:-)但是更短的可能就可以了,是的。我认为我们不需要完整的40个字符的SHA-1散列。10个字符可能就足够了。@TimBiegeleisen:OP包括所有,我能告诉谁回购协议中有多少提交?如果它有数以万亿计的提交,我们可能需要非常长的散列。:-)但短一点可能没问题,是的。