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

$ git checkout -b myfeature dev
$ git commit -am "blablabla"
$ git push origin myfeature
--**master**
------0-----0-----0-----0-----0
------------------------**dev**----**myfeature**

答案

$ git checkout -b myFeature dev
$ git commit -am "Your message"
$ git checkout dev
$ git merge --no-ff myFeature
$ git push origin dev
$ git push origin myFeature
git push origin subbranch_of_b1

创建一个分支

  • 检出主分支后创建分支。 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
*-----*Dev-------*Feature
/----*DevB
*-----*DevA
       \----*FeatureC

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的许多职责

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

假设

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

步骤

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

    $ git fetch origin BranchExisting : BranchExisting

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

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

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

    $ git checkout -b BranchMyNew

干得好!

git checkout -b <sub-branch> branch
git checkout -b XYZ ABC
git push origin refs/heads/<sourceBranch>:refs/heads/<targetBranch>