create branch - hellcy/python-basic GitHub Wiki

使用 branch 创建 dev 分支

我们之前的文件当中, 仅仅只有一条 master 分支, 我们可以通过 --graph 来观看分支:

$ git log --oneline --graph

使用 checkout 创建 dev 分支

接着我们建立另一个分支 dev, 并查看所有分支:

$ git branch dev // 建立 dev 分支

$ git branch // 查看当前分支

代表了当前的 HEAD 所在的分支 当我们想把 HEAD 切换去 dev 分支的时候, 我们可以用到上次说的 checkout:

$ git checkout dev

$ git branch

在 dev 分支中修改

使用 checkout -b + 分支名, 就能直接创建和切换到新建的分支:

$ git checkout -b dev

$ git branch

将 dev 的修改推送到 master

dev 分支中的 1.py 和 2.py 和 master 中的文件是一模一样的. 因为当前的指针 HEAD 在 dev 分支上, 所以现在对文件夹中的文件进行修改将不会影响到 master 分支.

我们在 1.py 上加入这一行 // I was changed in dev branch, 然后再 commit:

$ git commit -am "change 3 in dev" // "-am": add 所有改变 并直接 commit

好了, 我们的开发板 dev 已经更新好了, 我们要将 dev 中的修改推送到 master 中, 大家就能使用到正式版中的新功能了.

首先我们要切换到 master, 再将 dev 推送过来.

$ git checkout master // 切换至 master 才能把其他分支合并过来

$ git merge dev // 将 dev merge 到 master 中

$ git log --oneline --graph

要注意的是, 如果直接 git merge dev, git 会采用默认的 Fast forward 格式进行 merge, 这样 merge 的这次操作不会有 commit 信息. log 中也不会有分支的图案. 我们可以采取 --no-ff 这种方式保留 merge 的 commit 信息.

$ git merge --no-ff -m "keep merge info" dev # 保留 merge 信息 $ git log --oneline --graph

` 输出

  • c60668f keep merge info |\
    | * f9584f8 change 3 in dev # 这里就能看出, 我们建立过一个分支 |/
  • 47f167e back to change 1 and add comment for 1.py
  • 904e1ba change 2
  • c6762a1 change 1
  • 13be9a7 create 1.py`

Back to Home