一、前言
在大家多人开发的时候其实经常会遇到一个场景,自己去做一个需求,结果忘记切新分支了,直接就是一顿操作猛如虎。结果最后不知所措~
PS:如果你写错的这个分支没有做分支推送管理【比如不允许push,只能通过pull request的方式合并】且不会对代码有什么影响的话倒是可以强推一下。。。不过但凡占据了上述描述的情景,那么我们还是得老老实实的把刚才写好的代码弄出来切到自己分支在合并。
那今天笔者就带着朋友们一起处理上述的情况。
二、情景一:代码未commit的解决方法
我们可以按照如下命令即可把你更改的代码带入到你自己的分支上。
git add . // 把所有改动暂存
git stash // 把暂存的文件提交到git暂存栈
git checkout 到正确的分支 // 切换到你正常该写在的分支上
git stash pop // 将暂存栈中的代码放出来
// 截止到上面的步骤已经将你的更改代码都已经迁移到你正确的分支上了
// 下面你可以正常进行开发或者推送代码了
三、情景二:代码已commit的解决方法
git reset HEAD~1 // 最近一次提交放回暂存区,并取消此次提交
git stash // 把暂存的文件提交到git暂存栈
git checkout 到正确的分支 // 切换到你正常该写在的分支上
git stash pop // 将暂存栈中的代码放出来
// 截止到上面的步骤已经将你的更改代码都已经迁移到你正确的分支上了
// 下面你可以正常进行开发或者推送代码了