git提交错分支解决
方法一:撤销提交并重新提交到正确分支
撤销错误分支的提交(保留更改):
1
git reset --soft HEAD~1
--soft
会撤销提交,但保留更改在暂存区(已git add
的状态)。
暂存更改(可选):
如果上一步已保留在暂存区,可跳过此步。否则:1
git stash
切换到正确的分支:
1
git checkout correct-branch
提交更改:
1
git commit -m "Your commit message"
方法二:直接复制提交到正确分支(推荐)
记录错误分支的提交哈希值:
1
git log # 找到类似 `commit abc123` 的哈希值
切换到正确的分支:
1
git checkout correct-branch
复制提交到当前分支:
1
git cherry-pick <commit-hash>
- 例如:
git cherry-pick abc123
- 例如:
返回错误分支并删除提交:
1
2git checkout wrong-branch
git reset --hard HEAD~1 # 强制丢弃错误的提交
注意事项:
- 冲突处理:如果
cherry-pick
或切换分支时发生冲突,需手动解决冲突后执行git add
和git commit
。 - 确认分支状态:操作前用
git status
或git log
确认所在分支和提交历史。 - 未推送的提交:以上操作仅影响本地仓库,确保错误提交未推送到远程。
完成后,检查 correct-branch
的提交历史即可确认更改已正确应用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 热心市民黄先生!