我有两个分支: 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 Flow 。

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

但是要回答你的问题:

$ 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/<sourceBranch>:refs/heads/<targetBranch>

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


#6楼

Git 2.23引入了git switchgit restore来分割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 <sub-branch> branch

例如:

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

从另一个分支在Git中创建一个分支相关推荐

  1. Git中创建一个新的分支并推送

    主要命令: git checkout -b mydev创建一个分支并切换到新分支mydev git add . git commit -m '新分支 git push origin mydev将内容推 ...

  2. python如何创建一个列表,在python中创建一个由列表索引的字典

    I would like to create a dictionary which is indexed by lists. For instance, my dictionary should lo ...

  3. 如何在 GitHub 的项目中创建一个分支呢?

    https://www.cnblogs.com/plBlog/p/11573234.html https://www.cnblogs.com/wulibo/p/10608471.html https: ...

  4. 如何git命令创建一个本地分支,并提交到远程(remote)

    本地新建分支: 1.git clone 地址(远程仓库地址) 2.cd desting(到文件夹路径)    //clone之后   项目文件夹名称为desting 3.git remote 4.gi ...

  5. 如何将当前更改提交到git中的不同分支[重复]

    本文翻译自:How to commit my current changes to a different branch in git [duplicate] This question alread ...

  6. 如何在Git中克隆单个分支?

    我有一个本地的名为" skeleton"的Git存储库,用于存储项目框架. 它有几个分支,分别用于不同类型的项目: casey@agave [~/Projects/skeleton ...

  7. Git之(三)Git中常用命令——分支管理

    三.Git中常用命令--分支管理 为什么要使用分支管理? 分支就是科幻电影里面的平行宇宙,也就是当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN. 如果两个平行宇宙互不干 ...

  8. git idea创建新分支,获取/合并主支代码的2个方法

    其他sql格式也在更新中,可直接查看这个系列,要是没有你需要的格式,可在评论或私信我 个人目录 获取主支代码的2个方法 1,创建一个分支,获取主支的所有代码(场景:我需要一个自己的分支进行编写模块) ...

  9. 基类和派生类写在一个文件中_BootISO:从 ISO 文件中创建一个可启动的 USB 设备...

    今天,我们将讨论名为 BootISO 的实用程序类似工具.它是一个简单的 bash 脚本,允许用户来从 ISO 文件中创建一个可启动的 USB 设备. -- Prakash Subramanian(作 ...

最新文章

  1. centos下开启ftp服务
  2. 西南交大量子计算机,交大量子光电实验室
  3. 企业数据中心和互联网数据中心有何不同?
  4. pyxml for python 2.6 死而复生
  5. python爬虫,爬取糗事百科并保存到文件中
  6. Android2D理解坑
  7. 基于卷积神经网络的大豆病害识别
  8. firefox vimperator (图)
  9. shell读取用户输入
  10. Python解微分方程(验证数学建模第五版火箭发射模型)
  11. 免费股票量化交易软件有哪些?
  12. 表达式引擎Aviator基本介绍及使用以及基于Aviator的规则引擎(附代码详细介绍)
  13. firefox浏览器书签意外丢失恢复经验
  14. siteground主机黑五优惠最低2折-2.99美元每月-vps主机-WordPress主机服务器
  15. 路由器怎么连接台式电脑
  16. 破局“人工智能+大数据”产业痛点,保险极客百万医疗震撼出击
  17. HTML 语法教学之连结标签
  18. 本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。输入格式:输入在一行中给出一个长整型范围内的非负整数。输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格
  19. EVB_MX+ TencentOS tiny物联网开发板首次使用记录路灯调试(1)
  20. html中<a>标签的安全问题

热门文章

  1. Android 单元测试
  2. 谈谈Java中的volatile
  3. 玩转VSCode插件之Remote-SSH
  4. codeforces316E3
  5. Repeater控件使用小结持续更新
  6. JMeter Sampler之BeanShellSampler的使用
  7. JQuery轻量级网页编辑器 选中即可编辑
  8. Springmvc案例1----基于spring2.5的採用xml配置
  9. hdu 2063+hdu 1083(最大匹配数)
  10. (转)测测你是否有搜索引擎依赖症