commit hash 已经不同, git 会认为这是一个新的提交, 然后像新的 commit 一样提交到仓库里面, 这样可以说 master 分支已经分叉了, 因为别人的 master 分支和你的已经不一样了...这样做的好处是保证分支的历史的整洁性, 保持线性提交记录, 保持清爽.
rebase --onto
在实际的协同开发中, 我们可能会面对的并不是一个分支, 很可能是很多并行的分支....reflog
git reflog 堪称 git 协同工作的最后一根救命稻草. git reflog 是保存在本地的, 记录各个分支 HEAD 指针指向情况的.而 git log 是记录当前 HEAD...git reflog 是记录 HEAD 指针曾经指向过的历史, 它是撤销操作历史库, 它并不会包括在仓库中, 它只存在于本地.也就是说, 一旦你的修改被提交到缓存区, 即 commit 过, 那么就可以通过...git reflog
找回来.