Git分支操作

2020-07-05  本文已影响0人  JiangCheng97

知识来源GitHub入门与实践

在进行多并行作业时,我们会用到分支。在并行开发的过程中,往往会同时存在多个最新代码状态。从master分支创建feature-A分支和feature-B分支后,每个分支都有自己最新的代码。master分支是Git默认创建的分支,因此,基本上所有的开发都是基于这个分支为中心的。

不同的分支,可以同时进行完全不同的作业。等该分支的作业完成之后再与master分支合并。

git branch ——显示分支一览表

git branch命令可以将分支名列表显示。同时可以确认当前所在分支。

$ git branch
* master

可以看到master分支左侧有"*",表示这是我们当前所在分支。结果中没有显示其他分支名,表示本地仓库中只存在master一个分支。

git checkout -b ——创建、切换分支

如果想以当前的分支为基础创建新的分支,我们需要用到git checkout -b命令

git merge——合并分支

接下来,我们假设feature-A已经实现完毕了,接下来想要合并到主干分支中,首先切换到master分支。

  $ git checkout master
  Switched to branch 'master'

然后合并feature-A分支。为了在历史记录中明确记录本次分支合并,我们需要创建合并提交。因此,在合并时附加--no-ff参数。

  $ git merge --no-ff feature-A

随后编辑器会启动,用于录用合并提交的信息。

  Merge branch 'feature-A'
  # Please enter a commit message to explain why this merge is necessary,
  # especially if it merges an updated upstream into a topic branch.
  #
  # Lines starting with '#' will be ignored, and an empty message aborts
  # the commit.

默认信息中已经包含了是从feature-A分支合并过来的相关内容。所以不必做任何更改。将编辑器中显示的内容保存,关闭编辑器,然后就会看到下面的结果。

  $ git merge --no-ff feature-A
  Merge made by the 'recursive' strategy.
   README.md | 3 +++
   1 file changed, 3 insertions(+)

这样一来,feature-A分支的内容就合并到master分支中了。

git log --graph——以图表的形式查看分支

用git log --graph命令进行查看的话,能够清晰的看到特性分支(feature-A)提交的内容已经被合并。除此以外,特性分支的创建以及合并也都清楚明了。

$ git log --graph
*   commit 4da435f984bd80b4dfd26df306206118febc0abe (HEAD -> master)
|\  Merge: 75816af d7818ae
| | Author: JiangCheng <zhou19970407@126.com>
| | Date:   Sun Jul 5 23:22:40 2020 +0800
| |
| |     Merge branch 'feature-A'
| |
| * commit d7818ae5a4b53c43473bef14ddd36c863bce23fc (feature-A)
|/  Author: JiangCheng <zhou19970407@126.com>
|   Date:   Sun Jul 5 00:00:28 2020 +0800
|
|       Add feature-A
|
* commit 75816af90c5a4e840330882f23a5e1d347f1b965
| Author: JiangCheng <zhou19970407@126.com>
| Date:   Thu Jul 2 23:20:25 2020 +0800
|
|     Add index
|
* commit 1ba27d6c696f5c1fe66c1b40df7397db9e55f83d
| Author: JiangCheng <zhou19970407@126.com>
| Date:   Wed Jul 1 22:53:10 2020 +0800

git log --graph命令可以用图表的形式输出,提交日志,非常直观。

上一篇 下一篇

猜你喜欢

热点阅读