示例成品 · 平台演示,按左边这组点选真跑出来的
【事故判断】你把提交打在了 A 分支(如 main),其实该进 B 分支(如 feature/login),本地还没 push,用 cherry-pick + reset 就能干净搬移。
【第一步:记下提交哈希】在错分支上 git log --oneline,抄下要搬的提交哈希,如 c3d4e5f,多个就都记下来。
【第二步:切到正确分支】git checkout feature/login,若分支不存在先 git checkout -b feature/login。
【第三步:搬过来】git cherry-pick c3d4e5f;多个连续提交用 git cherry-pick 起始哈希..最新哈希。
【第四步:清理错分支】切回 main,git reset --hard HEAD~1 把误提交撤掉(本地未 push 才可这么做)。
【验证】两个分支各 git log 一遍,确认提交只留在正确分支上。
【如果已经 push 到错分支】那就不能用 reset 清理了,改为在错分支上对该提交 git revert 生成反向提交,再照上面步骤把原提交 cherry-pick 到正确分支,这样远程历史不会被破坏,队友也不会受影响。
点左边「开工 · 直接出成品」,出一份你自己的版本(文字免费)