从另一个分支在Git中创建一个分支

我有两个分支: masterdev

我想从开发分支创建一个“功能分支”。

目前在分支机构上,我这样做:

$ git checkout -b myfeature dev

... (一些工作)

$ git commit -am "blablabla"
$ git push origin myfeature

但是,在形象化我的分支之后,我得到了:

--**master**
------0-----0-----0-----0-----0
------------------------**dev**----**myfeature**

我的意思是分支似乎被合并,我不明白为什么......

我做错了什么?

你能解释一下我如何从另一个分支分支并推回到功能分支的远程仓库?

所有在分支模型,如这里描述的。


如果您喜欢您发布的链接中的方法,请查看Git Flow。

这是他为该工作流创建的一组脚本。

但要回答你的问题:

$ git checkout -b myFeature dev

创建MyFeature分支关闭开发。 做你的工作,然后

$ git commit -am "Your message"

现在将您的更改合并到开发中,无需快进

$ git checkout dev
$ git merge --no-ff myFeature

编辑

现在将更改推送到服务器

$ git push origin dev
$ git push origin myFeature

你会看到你想要它。


如果您想从Git中的任何现有分支创建新分支,请按照选项进行操作。

首先从您想要创建新分支的分支中更改/结帐。 例如,如果您有以下分支:

  • 开发
  • BRANCH1
  • 所以,如果你想创建一个名为“subbranch_of_b1”命名的分支下的新分支“BRANCH1”遵循的步骤:

  • 结帐或更改为“branch1”

    git checkout branch1
    
  • 现在,根据“BRANCH1”使用下面的命令创建名为“subbranch_of_b1”新的分支。

    git checkout -b subbranch_of_b1 branch1
    

    上面的代码将创建一个名为分支BRANCH1subbranch_of_b1新的分支(注意branch1上面的命令是不是强制性的,因为头是目前指向它,你可以精确的,如果你是在一个不同的分支,虽然)。

  • 现在在使用subbranch_of_b1之后,您可以在本地或远程提交并推送或合并它。

  • 在另一个分支下创建分支的示例图形插图


    创建一个分支

  • 主分支签出时创建分支。 这里的主要提交将同步到您创建的分支。

    $ git branch branch1

  • 当branch1被签出时创建分支。 这里在branch1中的提交将被同步到branch2

    $ git branch branch2


  • 结账分行

    git checkout命令切换分支或恢复工作树文件

  • $ git checkout branchname

  • 重命名分支

  • $ git branch -m branch1 newbranchname

  • 删除分支

  • $ git branch -d branch-to-delete
  • $ git branch -D branch-to-delete (强制删除而不检查合并状态)

  • 创建并切换分支

  • $ git checkout -b branchname

  • 完全包含的分支

  • $ git branch --merged


  • ************************** 分支差异 [git diff branch1..branch2] ************** **********

    多线差异
  • $ git diff master..branch1
  • 单线差异
  • $ git diff --color-words branch1..branch2
  • 链接地址: http://www.djcxy.com/p/27001.html

    上一篇: Create a branch in Git from another branch

    下一篇: Data attribute name with digits