Home > Development Tools > git > GIT branching and merging

GIT branching and merging

Guanhui
Release: 2020-07-22 17:56:03
forward
3297 people have browsed it

GIT branching and merging

How to merge two branches together. That is to say, we create a new branch, develop a new function on it, and then merge it back to the main line after the development is completed.

1. git merge

Let’s take a look at the first method—— git merge

When merging two branches in Git, a special commit record will be generated, which has two parent nodes. Translated into natural language, it is equivalent to: "I want to include these two parent nodes themselves and all their ancestors." Explain in detail below.

# 创建新分支 bugFix
git branch bugFix

# 切换到该分支
git checkout bugFix

# 提交一次
git commit

#   切换回 master
git checkout master

#  再提交一次
git commit

# 用 git merge 把 bugFix 合并到 master
git merge bugFix

(master 的分支被混入到所有的提交记录,但 bugFix 没有,所以要进行下面的操作)

# 再把 master 分支合并到 bugFix(因为 master 继承自 bugFix,Git什么都不用做,只是简单地把 bugFix 移动到 master所指向的那个提交记录。)
git checkout bugFix;
git merge master
Copy after login

2. git rebase

The second way to merge branches isgit rebase. Rebase actually takes out a series of commit records, "copies" them, and then puts them down one by one in another place.

The advantage of Rebase is that it can create a more linear submission history, which sounds a bit difficult to understand. If only Rebase was allowed to be used, the commit history of the code base would become extremely clear.

# 创建新分支 bugFix分支
git branch bugFix

#提交一次(提交在master分支上)
git commit

# 切换到bugFix分支
git checkout bugFix

# 提交一次(提交在bugFix分支上)
git commit

#使用git rebase把 bugFix 分支里的工作直接移到 master 分支上(移动以后会使得两个分支的功能看起来像是按顺序开发,但实际上它们是并行开发#的)。
git rebase master

注意:提交记录 C3 依然存在(树上那个半透明的节点),而 C3'是我们 Rebase 到 master 分支上的 C3 的副本。

#切换到master分支上(为了进行更新master的操作)
git checkout master

#把master的 rebase 到 bugFix 分支上(由于 bugFix 继承自 master,所以 git 只是简单的把 master 分支的引用向前移动了一下而已。)
git rebase bugFix
Copy after login

Recommended tutorial: "Git"

The above is the detailed content of GIT branching and merging. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template