我有两个分支: 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 中的任何现有分支创建新分支,只需按照选项操作即可。
首先更改 / 签出到您要创建新分支的分支。例如,如果您有以下分支,例如:
所以,如果你想创建一个名为“subbranch_of_b1”命名的分支下的新分支“BRANCH1”遵循的步骤:
结帐或更改为“branch1”
git checkout branch1
现在,根据“BRANCH1”使用下面的命令创建名为“subbranch_of_b1”新的分支。
git checkout -b subbranch_of_b1 branch1
上面的代码将创建一个名为分支BRANCH1下subbranch_of_b1新的分支(注意branch1
上面的命令是不是强制性的,因为头是目前指向它,你可以精确的,如果你是在一个不同的分支,虽然)。
现在使用了subbranch_of_b1之后,您可以在本地或远程提交并推送或合并它。
将 subbranch_of_b1 推送到远程
git push origin subbranch_of_b1
创建一个分支
$ git branch branch1
$ 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