admin 管理员组

文章数量: 887019

GIT提交错分支,push错分支怎么办

一不小心提交了今天的开发代码到了错误分支


不要慌,先切到错误的分支(什么?你已经在这个分支了?那当我没说)

git checkout wrongBranch

使用reset head~1 命令,回到解放前,不用担心,代码还在,只是你今天的工作回到了没有被git版本管理的时候

git reset head~1


不信你打status命令看一下,是不是today.txt文件显示红色呢
下面的英文 your branch is behind " origin/woringBranch" by 1 commit意思是

你当前本地版本落后于远程同名版本 一个commit。
举个例子:晚上6点整,你刚好吃完晚饭,但是吃完你才发现,你今天的晚餐本来应该是三明治,结果把隔壁小明的汉堡给吃了,那咋办?我们reset head 两极反转!!! 回到吃晚饭前的5点钟,这时我们用status命令查看时光倒流后你还没吃晚饭的情景。
此时5点钟的你安静地坐在食堂前,5点钟的你落后于6点钟的你一个汉堡,对吧。就是这个意思,汉堡就是你未提交的代码。
然后接下来我们就是要改变未来,怎么改变呢

git status


我们把汉堡交给时光机管理,add . (有个小数点)命令提交git版本管理

git add .
git statsh

然后马上使用stash,把这个汉堡打包一下

切换分支,来到正确的时间线

git checkout rightBranch


把汉堡送到正确分支小明的餐桌前

git stash pop


6点钟的小明吃掉自己的汉堡(提交变更)

git commit -m ok
git push

这时候我们回到5点钟的你的位置(切换到错误的分支)

git checkout wrongBranch


然后我们强制push,就相当于把5点到6点之间你所有的操作都去掉了,然后本地和远程就完全同步啦
5点和6点的你就没有区别啦(覆盖远程分支的错误提交)

git push -f

本文标签: 分支 Git push