# Git 学习 02 - 分支管理
# 创建与合并分支
查看分支 : git branch
创建分支: git branch <name>
切换分支: git switch <name>
创建 + 切换分支: git switch -c <name>
合并某分支到当前分支 : git merge <name>
这里的 name 使某分支的 name
删除分支: git branch -d <name>
# 解决冲突
eg:当你创建了一个 feature1 分支 其在 master 分支上添加了一些内容并进行提交,此时切换会 master 分支并使用 git merge feature1
合并分支是不会有问题的(Git 会在底层移动 master 的指针到 feature1 上)。但如果你在 feature1 上修改了某个文件并提交,在切换会 master 分支后修改了同一份文件并提交,那么此时 git merge 就会报错了。
此时可以:
- 使用
git status
查看冲突的文件(如果你改了很多,分不清哪里冲突了) - 手动解决冲突
- 再提交
- 最后删除分支(如删除 feature1)
使用
$ git log --graph --pretty=oneline --abbrev-commit
可以形象地查看分支的合并情况(Git 会生成一副图)
# 分支管理策略
git merge --no-ff -m "commit message" <branch name>
通常 ,合并分支时,Git 会用 Fast forward 模式(移动指针) ,这种模式下,删除分支后,会丢掉分支信息
如果要强制禁用 Fast forward 模式, Git 就会再 merge 时生成一个新的 commit,这样,从分支历史上就可以看出分支信息。
--no--ff 参数表示禁用 Fast forward
# git 的更多操作
Git 还有许多高级功能。如暂时储存当前工作、多人协作、标签管理等。考虑到目前还接触不到 ,上述功能等需要使用了再来学习更新吧。