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

1663

我有两个分支:masterdev

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

当前在dev分支上,我执行:

git checkout -b myfeature dev

...(某些工作)

git commit -am "blablabla"
git push origin myfeature

可是,当我查看我的分支时,我得到了:

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

我的意思是分支似乎进行了 快进合并,我不明白为什么...

我做错了什么?

如何从另一个分支创建一个分支,并将功能分支推送回远程代码库?

所有这些都是在像这里描述的分支模型中进行的。


请明确一下,您是在问为什么myfeature分支被快进合并,而不是其他形式的合并吗?还是您在问为什么它被合并了?对我来说,后者更有意义,因为我看不到任何合并命令在明显的快进合并观察之前。 - Andres Salas
1
在你的情况下,myfeature 分支只比 dev 分支多了几个提交,所以它被这样显示。它们没有分叉的提交点。一旦 dev 分支有了额外的提交,你将看到它们作为分叉提交的分支,不能简单地快进。 - Sergey P. aka azure
12个回答

1

切换到 develop 分支:

git checkout develop

创建 develop 分支的 feature/foo 分支。
git checkout -b feature/foo develop

将更改合并到develop分支,不使用快进模式。
git checkout develop
git merge --no-ff myFeature

现在将更改推送到服务器:
git push origin develop
git push origin feature/foo

5
不确定为什么需要这个评论,因为它与被接受的答案非常逐字相同,并且在评论中也没有提供更多上下文。 - Yashank
这对我比原始答案更有帮助。过去我一直是 Git 的常规用户,但自从两年前开始,我使用了其他的源代码控制工具。我只是想快速温习一下,而不是阅读冗长的答案。 - Anjani
被接受的答案:[https://dev59.com/9m855IYBdhLWcg3wNhd1#4470822]。 - Peter Mortensen

1

这对我很有用:

前往你的GitHub仓库,从中选择你想要创建新分支的分支名称,如下图所示:

Image 2

然后输入你想要创建的分支名称,并单击创建分支

Image 2


1
这个问题是关于Git而不是Github的。并不是每个人都使用Github。 - andrezsanchez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接