博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从另一个分支在Git中创建一个分支
阅读量:2290 次
发布时间:2019-05-09

本文共 2860 字,大约阅读时间需要 9 分钟。

我有两个分支: masterdev

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

目前在分支机构dev上,我执行以下操作:

$ git checkout -b myfeature dev

... (一些工作)

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

但是,在可视化我的分支之后,我得到了:

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

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

我做错了什么?

您能否解释一下我如何从另一个分支分支并推回功能分支的远程存储库?

像那样分支模型中的所有内容。


#1楼

同时在dev分支上工作。 发生的情况是,在您的场景中,功能分支从dev分支的顶端向前移动,但是dev分支没有改变。 绘制为直线更容易,因为可以将其视为向前运动。 您将其指向开发人员上的A,然后从那里继续沿着并行路径前进。 这两个分支并没有真正分开。

现在,如果您对dev进行提交,则在合并之前,您将再次从相同的提交A开始,但是现在功能将转到C,将开发人员转到B。这将显示您尝试可视化的拆分,即分支现在分歧了。

*-----*Dev-------*Feature

/----*DevB*-----*DevA       \----*FeatureC

#2楼

如果要从Git中的任何现有分支创建新分支,只需遵循这些选项即可。

首先在要创建新分支的分支中更改/签出。 例如,如果您具有以下分支,例如:

  • 开发者
  • 分支1

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

  1. 结帐或更改为“ branch1”

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

    git checkout -b subbranch_of_b1 branch1

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

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

将subbranch_of_b1推送到远程

git push origin subbranch_of_b1

#3楼

创建一个分支

  • 检出主分支后创建分支。 master中的提交将被同步到您创建的分支。

    $ 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

#4楼

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

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

但是要回答你的问题:

$ git checkout -b myFeature dev

从dev创建MyFeature分支。 做你的工作,然后

$ git commit -am "Your message"

现在,无需快速前进即可将更改合并到开发人员中

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

现在将更改推送到服务器

$ git push origin dev$ git push origin myFeature

然后您会看到它想要的样子。


#5楼

为了从另一个分支创建分支,也可以使用以下语法:

git push origin refs/heads/
:refs/heads/

它比“ git checkout -b” +“ git push origin”短一点


#6楼

Git 2.23引入了和来分割git checkout的职责

从git 2.23开始,从现有分支创建一个新分支:

git switch -c my-new-branch

切换到新分支“ my-new-branch”

  • -c--create的缩写-替换众所周知的git checkout -b

看看 Github博客文章,更详细地解释更改:

Git 2.23为现有的命令集带来了一对新的实验命令: git switchgit restore 。 这两个是为了最终为众所周知的git checkout提供更好的界面。 新命令旨在使每个命令有一个清晰的分隔,整齐地划分出git checkout的许多职责


#7楼

如果要从另一个分支创建分支,请遵循以下步骤:

假设

  1. 您目前在master分支中。
  2. 您没有要提交的更改。 (如果您有任何要提交的更改,请隐藏它!)。
  3. BranchExisting是分支的名称,您需要从该分支中​​创建一个名为BranchMyNew的新分支。

步骤

  1. 将分支获取到本地计算机。

    $ git fetch origin BranchExisting : BranchExisting

此命令将在本地使用相同的分支名称创建一个新分支。

  1. 现在,从主分支结帐到新获取的分支

    $ git checkout BranchExisting
  2. 您现在位于BranchExisting中。 现在从该现有分支创建一个新分支。

    $ git checkout -b BranchMyNew

干得好!


#8楼

要从本地目录中的另一个分支创建一个分支,可以使用以下命令。

git checkout -b 
branch

例如:

  • 要创建的新分支的名称“ XYZ”
  • 必须在其下创建XYZ的分支ABC的名称
git checkout -b XYZ ABC

转载地址:http://wvdnb.baihongyu.com/

你可能感兴趣的文章
提高深度神经网络性能的一些技巧
查看>>
ICT_TASK_1
查看>>
Ubuntu多用户Anaconda环境配置
查看>>
金字塔问题(动态规划)
查看>>
安装Fedora系统和一些系统配置
查看>>
安装docker
查看>>
怎样解决在单例对象中注入原生对象失效
查看>>
搭建spring cloud项目的依赖管理
查看>>
docker运行eureka服务注册中心
查看>>
内部类小结
查看>>
反射小结
查看>>
java中的类锁和对象锁对比分析
查看>>
使用maven搭建一个简单的SSM框架
查看>>
高性能MySQL笔记:第一章
查看>>
MySQL-8.0.12数据库的卸载,安装和海量sql数据导入
查看>>
后台权限管理项目总结
查看>>
JavaSE基础之IO流
查看>>
JavaSE基础之线程
查看>>
HashCode()重写的公式总结
查看>>
关于idea请求到webapp的jsp页面出现404的问题
查看>>