【问题标题】:Creating git branch based another branch基于另一个分支创建 git 分支
【发布时间】:2013-02-22 14:53:46
【问题描述】:

我想基于其他分支创建本地分支。例如我输入:

git checkout -b feature1 release1.1.3

之后我得到:

fatal: git checkout: updating paths is incompatible with switching branches.

这有什么问题?

【问题讨论】:

标签: git git-branch


【解决方案1】:
git branch <new-branch-name> <existing-branch-name>

【讨论】:

  • 这个答案设置new-branch-name 从远程跟踪existing-branch-name,这意味着如果您在签出此分支的情况下推送更改,它们将被推送到远程上的不同分支。需要注意的是,用户需要通过git push -u origin new-branch-name 跟进分支创建,以便将新分支跟踪到远程的类似分支。
【解决方案2】:

要基于另一个分支创建一个分支,最简单的方法是首先检出基础分支,然后从那里创建一个新分支。如果我正确理解您的问题,那正是您想要做的。

现在,当您在分支中使用-b 标志时,您可能有想要保留的工作更改。如果是这种情况,您应该将它们推送到存储区,检查基础分支,创建新分支,然后弹出存储区。

【讨论】:

    【解决方案3】:

    首先执行git pull 以确保所有本地分支机构都是最新的。然后你就可以剪断树枝了。

    语法是

    $ git checkout -b <branch> --track <remote>/<branch>
    

    $ git checkout <remote>/<branch> -b <branch>
    

    【讨论】:

    • git checkout -b &lt;new_branch&gt; &lt;start_point&gt; 是有效的很好,看起来像 OP 有什么?
    【解决方案4】:

    您的意思是 git branch feature1 release1.1.3 假设您希望名为 feature1 的分支基于 release1.1.3 提交。您在那里调用的内容也应该有效,但您的工作树中还有一个名为“release1.1.3”的实际文件夹,git 对您是指分支/标签还是文件夹感到困惑。

    您可以尝试仅提供 release1.1.3 的实际提交 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-27
      • 2021-08-09
      • 2018-09-11
      • 2017-07-04
      • 1970-01-01
      • 2022-10-25
      • 2013-09-06
      • 1970-01-01
      相关资源
      最近更新 更多