提交到错误分支怎么搬回正确分支
急着提交,结果 commit 打到了 main 上,其实该进 feature 分支;直接删了怕丢代码,不知道怎么把提交干净地搬过去。
有人这样说「完了,刚提交代码到main,其实该在feature分支,现在慌得不行。」
能替你选的都选好了。不想动,直接点下面「交给 AI 办」,点一下就开始做;想改,就点一下要的那个。
已替你选好想改就点一下
只有你知道的不填就先空着,成品里留【待填】
还想怎么改可以不选
高级选项一般不用动 · 这件事通常 1 分钟左右做好
示例成品全文按上面这组示例选项真跑出来的
【事故判断】你把提交打在了 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 到正确分支,这样远程历史不会被破坏,队友也不会受影响。