这两条分支能快进吗
is_ff 判断的是:"当前分支的提交是不是已经在目标分支的历史里"。运行下面这段程序: def ancestors(g, c): seen = set() st = [c] while st:
如果 main 一次都没动过呢
同一张图,但假设 main 还停在分叉点 7b4e2d0 上。运行下面这段程序: def ancestors(g, c): seen = set() st = [c] while st: x = st
写一个 is_ff
补全 is_ff(g, cur, target):判断从 cur 合并到 target 能不能走快进。 输出 main 合并 feature 能不能快进。
⚠️ 两种站位各判一次
用同一个 is_ff 判两次:main 停在 a1c5f83(现在这样)、main 停在分叉点 7b4e2d0。 两个结果拼起来输出(现在这样的在前)。
⚠️ 两种合并各产生几个新提交
把两种情形都跑一遍,输出各自新增了几个提交: 快进合并(main 停在分叉点) 三方合并(main 停在 a1c5f83) 两个数拼起来输出(快进的在前)。
feature branch 工作流是什么
所谓 feature branch 工作流,是【0】。
主线该保持什么状态
在这套工作流里,主线分支应当【0】。
⚠️ 分支活得越久会怎样
一条分支迟迟不合并回去,后果是【0】。
现在的分叉距离是多少
分叉距离 = 两边各自独有的提交数之和。运行下面这段程序: def ancestors(g, c): seen = set() st = [c] while st: x = st.pop()
如果晚一点再开分支呢
假设 feature 不是从 7b4e2d0 分出来,而是等主线做完 a1c5f83 之后才分。运行下面这段程序看新的分叉距离: def ancestors(g, c): seen = set() st = [c]