找出某一行归谁
写一个 who(blame, text):给定行的内容,返回最后改它的提交 id。 输出 return a / b 这行归哪次提交(那正是出问题的一行)。
⚠️ 出问题那行是第几次提交引入的
把 blame 和提交历史连起来:找出出问题那行归哪次提交,并算出它在历史里排第几(从 1 数起)。 两样拼起来输出:提交 id / 排第几。
diff 比的是哪两样
不带参数的 git diff 比较的是【0】。
diff 输出里的 + 和 - 各是什么
diff 输出里以 + 和 - 开头的行分别是【0】。
⚠️ 改一行为什么显示成两行
把某一行里的一个词改掉,diff 会显示【0】。
想看某次提交改了什么
要看清历史上某一次提交具体改了什么,做法是【0】。
这次提交加了几行
第 3 次提交(加上减法)之后文件有 4 行,第 4 次提交(加上除法)之后有 6 行。运行下面这段程序: def diff(old, new): added = [l for l in new if l not in old]
出问题那行在新版本的第几行
找出 return a / b 在新版本文件里的行号(从 1 数起)。运行下面这段程序: new = ['def add(a, b):', ' return a + b', 'd
写一个 diff
补全 diff(old, new):返回新增行数和删除行数。 两个数拼起来输出(新增在前)。
⚠️ 一次提交的完整画像
把这次提交的三样信息一起输出:新增行数 / 删除行数 / 改动后文件总行数。