1.分支管理
Git分支管理是指在Git版本控制系统中,使用分支来管理项目的不同开发线路和并行开发的能力。通过分支,开发者可以在独立的环境中进行功能开发、bug修复等工作,而不会影响到主分支上的代码。
查看分支:
git branch
在Git中有一个HEAD指针,默认情况下指向master,而master指向的是最新的一次提交.
HEAD也可以指向其它分支,被指向的分支就是当前工作的分支
创建分支:
git branch [分支]
切换分支:
git checkout [分支]
合并分支:
# 需要先切换到想要合并的分支下 git merge [分支]
注意:分支就相当于一份副本,切换到分支后进行的一系列操作是没合并分支之前,是不会影响其它分支的.
删除分支(未提交):
# 需要切换到其它分支下 git branch -d [分支]
强制删除分支(提交过):
git branch -D [分支]
执行命令后,Git会立即删除指定的分支,无论它是否合并到其他分支中。
2.合并冲突
合并冲突指的是合并分支或拉取远程分支时,Git无法自动解决不同分支上对同一行代码的修改而产生的冲突。
如图所示:
演示:
修改test分支下的Readme文件,并进行add和commit
修改master分支下的Readme文件,并进行add和commit
进行合并,结果:
此时就发生合并冲突了
合并冲突的解决: 解决冲突,并重新进行add和commit操作
使用vim命令查看Readme文件,>>>之间的代码就是产生冲突的代码. HEAD是当前分支的代码.
如果想保留其中一方的修改,就需要把另外一方的修改给删掉.
例如保留test分支下的代码:
保存并退出.
解决合并冲突后,需要重新进行一次add和commit操作
3.合并模式
"Fast-forward"是Git中合并分支的一种类型。它指的是在合并两个分支时,当前分支指针可以直接向前移动到目标分支的最新提交,而无需进行实际的合并操作。
但使用"Fast-forward"模式 看不出是合并(merge)提交的,还是add,commit提交的.
不使用"Fast-forward"模式(推荐)进行合并
git merge --no--ff -m "描述信息" [分支]
No Fast-forward 会指向一个新的提交结点.
4.补充
一般master分支的内容要求比较稳定,而开发一般都会在新建的分支中进行
BUG分支是指用于修复软件项目中发现的BUG的临时分支。在软件开发过程中,当发现一个BUG时,可以创建一个专门的分支来处理和修复该问题,以避免对主分支或其他正在进行的开发任务产生干扰。