作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
使用 git,在一些“提交”和一些“推送”之后,我意识到我使用了错误的分支!
现在我必须以某种方式删除我在 wrong_branch 中的更改并提交并推送 right_branch 中的更改
最好(也最简单)的方法是什么?
谢谢
最佳答案
切换到该分支,分别检查 git log
和 git revert
那些提交。完成后,切换回所需的分支,然后您可以使用 git cherry-pick
从 git refs 中选择特定的提交并将其 merge 到正确的分支中。
git checkout wrong_branch
git revert commitsha1
git revert commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2
如果提交被组合在一起,并且在你的脏提交之后没有推送任何提交,你甚至可以使用 git reset
将错误的分支恢复到你提交之前的状态,然后再次执行使用 git cherry-pick
将您的提交放入正确的分支。
git checkout wrong_branch
git reset commitsha3 #commit just before commitsha2
git checkout right_branch
git cherry-pick commitsha1
git cherry-pick commitsha2
关于Git 推送到错误的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6465699/
我是一名优秀的程序员,十分优秀!