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

我有两个分支:master和dev 我想从dev分支创建一个“功能分支”。 目前在分支开发,我做:
$ 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
在dev上创建MyFeature分支。做你的工作然后
$ git commit -am "Your message"
现在将您的更改合并到dev而不需要快进
$ git checkout dev
$ git merge --no-ff myFeature
现在将更改推送到服务器
$ git push origin dev
$ git push origin myFeature
你会看到你想要它。     
如果要从Git中的任何现有分支创建新分支,只需按照选项操作即可。 首先更改/签出到您要创建新分支的分支。例如,如果您有以下分支,例如: 主 开发 BRANCH1 因此,如果要在名为“branch1”的分支下创建名为“subbranch_of_b1”的新分支,请执行以下步骤: 结帐或更改为“branch1”
git checkout branch1
现在使用以下命令在“branch1”下创建名为“subbranch_of_b1”的新分支。
git checkout -b subbranch_of_b1 branch1
上面将在分支branch1下创建一个名为subbranch_of_b1的新分支(注意上面命令中的
branch1
不是强制性的,因为HEAD当前指向它,如果你在不同的分支上,你可以精确它)。 现在使用了subbranch_of_b1之后,您可以在本地或远程提交并推送或合并它。 将subbranch_of_b1推送到远程
 git push origin subbranch_of_b1 
    
创建一个分支 签出主分支时创建分支。这里的master中的提交将同步到你创建的分支。
$ git branch branch1
签出branch1时创建分支。这里commit1中的提交将同步到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
    
dev
分支上同时进行工作。会发生的情况是,在您的场景中,功能分支从dev分支的尖端向前移动,但dev分支不会更改。绘制成直线更容易,因为它可以被认为是向前运动。你在dev上指向A,然后从那里继续沿着平行路径行进。这两个分支并没有真正分歧。 现在,如果你在dev上进行提交,在合并之前,你将再次从同一个提交开始,A,但是现在功能将转到C并且dev转到B.这将显示你试图可视化的分割,如分支现在已经分道扬..
*-----*Dev-------*Feature
       /----*DevB
*-----*DevA
       ----*FeatureC
    

要回复问题请先登录注册