calc.py 一共被改过几次

只看 calc.py 这一个文件的历史: $ git log --oneline -- calc.py 9dce625 修复除以零会崩溃的问题 0e78a81 加入除法功能 9898436 加入减法功能 7df1c33 加入加法功能

开始练习 →

除以零的问题是哪次修好的

同一份完整历史: $ git log --oneline 9dce625 修复除以零会崩溃的问题 0e78a81 加入除法功能 9898436 加入减法功能 7df1c33 加入加法功能 569a855 初始版本:只有一个说明文件

开始练习 →

为什么要拆成两次提交

加了一个新功能,顺手还修了一个 bug。把它们分成两次提交,好处是【0】。

开始练习 →

混在一起会怎样

如果功能和修复混在同一次提交里,后来发现那个新功能有问题,想撤掉它,结果是【0】。

开始练习 →

“可回滚”对每次提交的要求

说一次提交是“可回滚的”,要求它【0】。

开始练习 →

撤销一次提交但保留历史

想撤销某一次提交的效果,同时让历史里留下“撤销过”这件事,用【0】。

开始练习 →

除法功能是哪次加进来的

这个仓库最后两次提交,一次加功能、一次修它的 bug: $ git log --oneline 9dce625 修复除以零会崩溃的问题 0e78a81 加入除法功能 9898436 加入减法功能 7df1c33 加入加法功能 569a855

开始练习 →

它的 bug 是哪次修好的

同一份历史: $ git log --oneline 9dce625 修复除以零会崩溃的问题 0e78a81 加入除法功能 9898436 加入减法功能 7df1c33 加入加法功能 569a855 初始版本:只有一个说明文件

开始练习 →

那次修复动了几个文件

看一眼最后那次提交具体改了什么: $ git show --stat --oneline HEAD 9dce625 修复除以零会崩溃的问题 calc.py | 2 ++ 1 file changed, 2 insertions(+)

开始练习 →

revert 之后历史里有几次提交

当前历史一共 5 次提交。现在把最后那次修复 revert 掉: revert 不会删掉旧提交,它是新加一次提交、把改动反过来。所以做完之后,历史里一共有几次提交? $ git log --oneline | wc -l 5 $ git r

开始练习 →