玩转 Git 三剑客
苏玲
携程代码平台负责人
60828 人已学习
新⼈⾸单¥68
课程目录
已完结/共 62 讲
第三章:Git与GitHub的简单同步 (4讲)
第五章:Git集成使用禁忌 (2讲)
玩转 Git 三剑客
登录|注册
留言
10
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 48 | 怎样选择适合自己团队的工作流?
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程综述
02 | 安装Git
03 | 使用Git之前需要做的最小配置
04 | 创建第一个仓库并配置local用户信息
05 | 通过几次commit来认识工作区和暂存区
06 | 给文件重命名的简便方法
07 | 通过git log查看版本演变历史
08 | gitk:通过图形界面工具来查看版本历史
09 | 探密.git目录
10 | commit、tree和blob三个对象之间的关系
11 | 小练习:数一数tree的个数
12 | 分离头指针情况下的注意事项
13 | 进一步理解HEAD和branch
14 | 怎么删除不需要的分支?
15 | 怎么修改最新commit的message?
16 | 怎么修改老旧commit的message?
17 | 怎样把连续的多个commit整理成1个?
18 | 怎样把间隔的几个commit整理成1个?
19 | 怎么比较暂存区和HEAD所含文件的差异?
20 | 怎么比较工作区和暂存区所含文件的差异?
21 | 如何让暂存区恢复成和HEAD的一样?
22 | 如何让工作区的文件恢复为和暂存区一样?
23 | 怎样取消暂存区部分文件的更改?
24 | 消除最近的几次提交
25 | 看看不同提交的指定文件的差异
26 | 正确删除文件的方法
27 | 开发中临时加塞了紧急任务怎么处理?
28 | 如何指定不需要Git管理的文件?
29 | 如何将Git仓库备份到本地?
30 | 注册一个GitHub账号
31 | 配置公私钥
32 | 在GitHub上创建个人仓库
33 | 把本地仓库同步到GitHub
34 | 不同人修改了不同文件如何处理?
35 | 不同人修改了同文件的不同区域如何处理?
36 | 不同人修改了同文件的同一区域如何处理?
37 | 同时变更了文件名和文件内容如何处理?
38 | 把同一文件改成了不同的文件名如何处理?
39 | 禁止向集成分支执行push -f操作
40 | 禁止向集成分支执行变更历史的操作
41 | GitHub为什么会火?
42 | GitHub都有哪些核心功能?
43 | 怎么快速淘到感兴趣的开源项目?
44 | 怎样在GitHub上搭建个人博客
45 | 开源项目怎么保证代码质量?
46 | 为何需要组织类型的仓库?
47 | 创建团队的项目
48 | 怎样选择适合自己团队的工作流?
49 | 如何挑选合适的分支集成策略?
50 | 启用issue跟踪需求和任务
51 | 如何用project管理issue?
52 | 项目内部怎么实施code review?
53 | 团队协作时如何做多分支的集成?
54 | 怎样保证集成的质量?
55 | 怎样把产品包发布到GitHub上?
56 | 怎么给项目增加详细的指导文档?
57 | 国内互联网企业为什么喜欢GitLab?
58 | GitLab有哪些核心的功能?
59 | GitLab上怎么做项目管理?
60 | GitLab上怎么做code review?
61 | GitLab上怎么保证集成的质量?
62 | 怎么把应用部署到AWS上?
登录 后留言

全部留言(10)

  • 最新
  • 精选
iusugar
老师,请问“特性分支”具体是干啥的?不是很理解这个特性分支

作者回复: 用gitlab flow的做法,每开发一个新功能,先从主干拉出“特性分支”,待特性分支自测通过后,再把特性分支上的功能合入主干分支(分享给团队使用)。

2019-05-19
4
加载中……
您好,我读了LM的那个文章,还有一些疑问,麻烦解答,谢谢。 首先:LM 确实可以高效定位可集成的特性分支的最大集合。 1、疑问一:LM工作原理 ①自动从master分支拉出一个LM分支(分支名称有一定策略,可能是根据特性分支来的),比如lm_f1_f2..._fn ②然后把特性分支f0,f1..fN,合并到这个LM分支lm_f1_f2..._fn ③这个时候lm分支lm_f1_f2..._fn就是全量的了 ④如果某个分支由了更新,再把更新分支merge到lm分支lm_f1_f2..._fn 2、疑问二:测试人员针对哪个分支做全量测试(针对一个中型需求测试周期也不会短) ①是lm分支? 如果是这种即:等测试完成后,再merger到master。不能保证在测试期间,master没有改变,也就不能保证merger不引入冲突,冲突解决冲突的时候就有可能产生bug。 我看文章的意思应该是如果组成lm分支的某个分支变化了,会自动合并到lm分支,即使是这样准实时同步,会很大程度减少合并到master的冲突,也不能杜绝吧? ②还是正式merger到master后再介入测试 如果是这种,即会把不稳定的commit先merge到master,然后测试也会有一段周期。这段周期内如果又有新的紧急需求和bug要上线就比较尴尬了。 3、疑问三:如果没有lm,采用特性分支,一般的流程会是怎么样的 ①:先基于特性分支测试,再合并master上线 我感觉,这种比较好一点,但是没法解决合并master的冲突 ②:先合并master,再测试,上线 我感觉这种不好,这种会使master非常不稳定

作者回复: 好问题,等有空了,我再来好好聊聊

2019-02-18
2
4
加载中……
您好,请教个问题,如果采用特性分支开发方式(即:一个master多个特性分支)。比如:有个特性分支f1已经开发完成后还没测试,应该才采取下面那个方案: 方案1: 1、测试人员基于f1分支完成测试功能 2、合并f1到master 3、上线master 方案2: 1、合并f1到master 2、基于master(或拉取一个production分支)做测试 3、上线production 如果采用方案1,我感觉有以下缺点 在第二步骤其实并不能保证没有合并冲突或合并过程中产生的bug。所以步骤1的测试意义不大。 如果在merge完成后再测试一遍,又浪费测试资源和时间。 如果采用方案2,我感觉缺点是: 如果合并到master后,业务方或其他原因说又不上线了。如果这时候又有一个需求f2要上线,还得把master上合并的f1分支剥离下来,这个剥离的具体做法是对f1 merge的节点进行revert,还是怎么做? 不知道您的团队是按照什么方案来做的?

作者回复: 好问题 👍,嘴贴切的参考资料如下: 干货 | 分支集成加速器Light Merge在携程的应用 https://mp.weixin.qq.com/s/nH6RR9YyUKydxBqJaQ2Okg 另外,GitLab社区也在讨论类似的问题,在Merge Request的open状态下,增加“临时merge”的质量检查,而不仅仅只查source分支。 当然,如果公司有专门的发布系统,它会标示master上哪个commit通过质量检查(允许发布)也是一个方法。

2019-02-17
3
change
我们团队用的是git flow,感觉还是挺好的

作者回复: 嗯嗯,适合就好

2020-03-26
回忆一下我们的流程: 1:开发新功能,一定从master拉新分支 2:开发完后,自测加提测 3:测试先进行分支测试 4:分支测试完后,进行代码review 5:合并主干,进行主干回归测试 6:上线,产品和业务进行线上验证 7:如果涉及多个组,在合住干前,需要进行预发布联调测试 8:如果因业务或功能限制,上线后可能会通过开关控制,部分切量试运行
2020-03-02
2
7
温雅小公子
从这开始听不懂了。
2022-04-11
1
Untitled
听到这里,发现前面偏基础,但可以很好去实践,而到这里听着很悬,但是这块一定是精华,可是没有实操的机会。
2020-02-19
1
Edon du
回忆下我们的流程: 1.开发新功能从beta分支拉去feature_x_x分支 2.开发完合并dev联调自测 3.dev合并beta测试人员回测 4.合并master
2020-03-27
弥勒秋实
玩法还挺多
2019-01-09
我来也
长见识了,这么多工作流。 有利有弊,可以很好的参考。 我目前还是自己一个人玩git,比较原始。😄
2019-01-04
收起评论