Git基于master之前的功能分支创建分支

时间:2017-04-17 20:45:41

标签: git github

我有一个从分期中撤出的主分支。有一个生产分支领先于主人,我希望以我的功能分支为基础。

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

没有显示我需要拉出的分支的引用。我是否需要设置新的master或rebase才能执行此操作?我正在寻找一种方法来保持主人的原样(分段)并能够从前面的分支(prod)拉出来。

修改

我试图检查生产分支本身,但它引发了一个错误:

git ls-remote

更多编辑

因此虽然-> git checkout release-0000 error: pathspec 'release-0000' did not match any file(s) known to git. 没有显示我试图从 - git ls-remote拉出的远程分支,但release-0000git branch -a包含分支的名称名单。我试图通过名称git branch -r拉出/签出分支的尝试不起作用,我假设因为它缺少“完整路径”release-000当引用分支名称包括{时{1}} git识别了生产分支,我能够结账。

2 个答案:

答案 0 :(得分:1)

只需签出生产分支并从那里创建一个新分支。 因此,在master之前的生产分支中的所有提交都被拉到新分支

答案 1 :(得分:0)

如果您还没有本地版本的功能分支,则需要使用

创建它
$ git checkout origin/feature
$ git branch feature

或作为捷径

$ git checkout -b feature origin/feature 

现在您可以创建一个新的分支,并使用

进行检查
$ git branch <new-branch-name>
$ git checkout <new-branch-name>

$ git checkout -b <new-branch-name> feature

请注意,如果您已经feature,则上述命令末尾的git checkout feature是可选的。但是,当您当前不在要用作新分支基础的分支上时,上面使用的版本很有用。

这是一个令人头疼的问题:

根据the documentation for git checkout

  

如果找不到,但确实存在一个具有匹配名称的远程(称之为)的跟踪分支,则视为等效于

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

因此git checkout <branch>失败的事实告诉我你很可能有两个具有相同分支名称的遥控器。