# 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 就会报错了。

此时可以:

  1. 使用 git status 查看冲突的文件(如果你改了很多,分不清哪里冲突了)
  2. 手动解决冲突
  3. 再提交
  4. 最后删除分支(如删除 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 还有许多高级功能。如暂时储存当前工作、多人协作、标签管理等。考虑到目前还接触不到 ,上述功能等需要使用了再来学习更新吧。

更新于

请我喝[茶]~( ̄▽ ̄)~*

MikeMao 微信支付

微信支付

MikeMao 支付宝

支付宝

MikeMao 贝宝

贝宝