对于那些想知道它为什么有效的人
您想返回 C,并将 D 和 E 移动到新分支。
一开始看起来是这样的:
shellA-B-C-D-E (HEAD) ↑ master
后 git branch newBranch:
shellnewBranch ↓ A-B-C-D-E (HEAD) ↑ master
后 git reset --hard HEAD~2:
shellnewBranch ↓ A-B-C-D-E (HEAD) ↑ master
由于分支只是一个指针,因此_master指向最后一次提交。当您创建newBranch_时,您只需创建一个指向最后一次提交的新指针。然后使用 git reset您将_主_指针移回两个提交。但由于您没有移动_newBranch_,它仍然指向它最初所做的提交。
2024年6月29日 12:07 回复