Git学习之分支

本文详细介绍了Git的分支管理,包括创建、合并、冲突解决、分支管理、分支开发工作流等内容。重点讲解了如何处理分支冲突和使用变基操作来保持提交历史的整洁。此外,还探讨了长期分支、特性分支的使用策略,以及远程分支的推送、拉取和删除。通过实例展示了如何在团队协作中有效地使用Git分支。
摘要由CSDN通过智能技术生成

目录

分支

创建并切换到该分支

遇到冲突时的分支合并 

分支管理

分支开发工作流

长期分支

特性分支

远程分支

推送

跟踪分支

拉取

删除远程分支 

变基

变基的基本操作 

变基例子

变基的风险


分支

git branch test    #创建一个test分支
git checkout test    #切换到test分支

你可以简单地使用    git    log    命令查看分叉历史。运行    git    log    --oneline    --decorate    --graph    --all    ,会输出你的提交历史、各个分支的指向以 及项目的分支分叉情况。

创建并切换到该分支

想要新建一个分支并同时切换到那 个分支上,你可以运行一个带有    -b    参数的    git    checkout    命令:

如果你正在test分支做某特定功能,此时,突然让你解决一个问题,这时,你可以将现有的更改都提交或者保存进度(stashing)和 修补提交(commit    amending)。你将按照如下方式来处理:
1.    切换到你的线上分支(production    branch)。git checkout [production-branch]
2.    为这个紧急任务新建一个分支,并在其中修复它。git checkout -b [分支名]
3.    在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。git merge [分支名]
4.    切换回你最初工作的分支上,继续工作。 

遇到冲突时的分支合并 

有时候合并操作不会如此顺利。如果你在两个不同的分支中,对同一个文件的同一个部分进行了不同的修 改,Git    就没法干净的合并它们。例如在test分支和is0分支都对ac文件的同一个地方做了更改,在合并它们的时候就会产生合并冲突:

此时    Git    做了合并,但是没有自动地创建一个新的合并提交。Git    会暂停下来,等待你去解决合并产生的 冲突。你可以在合并冲突后的任意时刻使用    git    status    命令来查看那些因包含合并冲突而处于未合并 (unmerged)状态的文件
如果你想使用图形化工具来解决冲突,你可以运行    git    mergetool ,该命令会为你启动一个合适的可 视化合并工具,并带领你一步一步解决这些冲突.

分支管理

git    branch    命令不只是可以创建与删除分支。如果不加任何参数运行它,会得到当前所有分支的一个 列表:

    master    分支前的    *    字符:表示当前所在的分支分支(也就是说,当前   HEAD  指针所指向的分支)。这意味着如果在这时候提交, master    分支将会随着新的工作向前移动。如果需要查看每一 个分支的最后一次提交,可以运行    git    branch    -v    命令:

--merged    与    --no-merged    这两个有用的选项可以过滤这个列表中已经合并或尚未合并到当前分支 的分支。如果要查看哪些分支已经合并到当前分支,可以运行    git    branch    --merged :


因为之前已经合并了 is0 分支,所以现在它在列表中的分支名前没有 * 号,使用 git  branch  -d 删除掉;你已经将它们的工作整合到了另一个分支,所以并不会失去 任何东西。

运行    git    branch    --no-merged 查看所有包含未合并工作的分支,因为它包含了还未合并的工作,尝试使用    git    branch    -d    命令删除它时会失 败,如下所示:

如果真的想要删除分支并丢掉那些工作,如同帮助信息里所指出的,可以使用    -D    选项强制删除它

分支开发工作流

长期分支

在整个项目开发周期的不同阶段,可以同时拥有多个开放的分支;定期 地把某些特性分支合并入其他分支中。
许多使用    Git    的开发者都

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值