本文的知识都是参考网上的,仅供自己学习使用。
1. merge 和 rebase 的区别?
- merge会创建一个新的合并节点。
- rebase会将2个分支合并成一个,将新分支直接移到master分支的顶端。
参考:zhuanlan.zhihu.com/p/75499871
2. git reset 和 git revert 的区别?
假设提交历史是:
A -- B -- C -- D (HEAD)
-
执行
git reset --hard B:A -- B (HEAD)C和D被丢掉(除非通过reflog找回)。 -
执行
git revert C:A -- B -- C -- D -- E (HEAD)这里
E是一个新提交,用来“抵消”C的修改。C依然存在历史里。