分支似乎ff合并了,我不明白为什么……
我做错了什么?
请问您如何解释我如何从另一个分支分支并推回到功能分支的远程存储库?
所有这一切都在分支中 模型 </跨度> 像这里描述的那样。
如果要从Git中的任何现有分支创建新分支,只需按照选项操作即可。
首先更改/签出到您要创建新分支的分支。例如,如果您有以下分支,例如:
所以如果你想创建一个名为的新分支 的 “subbranch_of_b1” 强> 在分支下命名 的 “BRANCH1” 强> 按照步骤:
结帐或更改 的 “BRANCH1” 强>
git checkout branch1
现在创建一个名为的新分支 的 “subbranch_of_b1” 强> 在下面 的 “BRANCH1” 强> 使用以下命令。
git checkout -b subbranch_of_b1 branch1
以上将创建一个名为的新分支 的 subbranch_of_b1 强> 在分公司下 的 BRANCH1 强> (注意 branch1 在上面的命令中不是强制性的,因为HEAD当前指向它,如果你在不同的分支上,你可以精确它)。
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
做同时工作 dev 科。会发生的情况是,在您的场景中,功能分支从dev分支的尖端向前移动,但dev分支不会更改。绘制成直线更容易,因为它可以被认为是向前运动。你在dev上指向A,然后从那里继续沿着平行路径行进。这两个分支并没有真正分歧。
dev
现在,如果你在dev上进行提交,在合并之前,你将再次从同一个提交开始,A,但是现在功能将转到C并且dev转到B.这将显示你试图可视化的分割,如分支现在已经分道扬..
*-----*Dev-------*Feature
与
/----*DevB *-----*DevA \----*FeatureC
要从另一个创建分支,也可以使用以下语法:
git push origin refs/heads/<sourceBranch>:refs/heads/<targetBranch>
它比“git checkout -b”+“git push origin”短一点
如果您喜欢您发布的链接中的方法,请查看 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
你会看到你想要它。