reset、revert:
reset:
--soft 本地库回滚,暂存区不回滚,代码不变。
--mixed:本地库回滚,暂存区回滚,代码不变。
--hard:本地和暂存区都会回滚,代码会强制变更。
revert:从远程回滚到某一个版本
merge、rebase:
merge:会将本地和远程的代码合起来做一次commit,会有历史记录。
rebase:在远程的提交后跟进一次提交,不会有一次新的commit。
checkout、reset --hard:
区别1:checkout不会强制更新本地代码,reset会。
区别2:checkout会指向新的分支,reset还是在原来的分支。
fetch、clone、pull:
fetch:不会强制merge,需要手动merge
clone:远程拉下代码,并和远程做关联
pull:fetch + merge