
获得徽章 0
- 分享一个 git rebase 小技巧。
大家可能都知道,`git rebase -i` 命令可以修改 commit 历史,但是需要传入你想要修改的最早的 commit 的前一个 commtid。
比如 commit 历史是:
commit 9d2e80a367c1b1c487eee6da10e386107e89c67f
commit 3e08c643e39182c71f2e6beef6f45be4a5c70e83
commit ea8840c141eacbaa7af0688bdbe0b50249f4d068
commit f39533d2f3fa59ab5f0cbf9f938c3bd8f58bab34
你想修改前三个:`9d2e80a3`、`3e08c643`、`ea8840c1`,那么你需要执行命令:
git rebase -i f39533d2
那么问题来了,如果我想修改整个 commit 历史里面最久远的那么 commit(也就是第一个 commit),它并没有前一个 commit,因为它已经是最早的那么 commit 啦。
这时你可以使用以下命令:
git rebase -i --root展开评论3 - SELECT e.department_id, s.employee_id, s.salary
FROM salary s
JOIN employees e ON s.employee_id = e.employee_id
WHERE s.salary = (
SELECT MAX(salary)
FROM salary s2
JOIN employees e2 ON s2.employee_id = e2.employee_id
WHERE e2.department_id = e.department_id
)
ORDER BY e.department_id; 看懂了这个,感觉sql水平上了一个台阶展开11