血泪史:
今天写项目需求,一半都写完了,发现自己的分支还在master上,那么已经写了代码后发现搞错分支了应该怎么办?
未提交的情况下
git add . (暂存在此分支上的改动)
git stash (把暂存的改动提交到git的暂存栈)
git checkout 本该提交代码的分支 (要是拉取新分支:git checkout -b 本该提交代码的分支)
git stash pop (将暂存栈中的代码放出来)
这样你的改动就跑到本该提交代码的分支上啦~
已提交的情况下
git checkout 不该提交代码提交了代码的分支
git reset HEAD~1 (最近一次提交放回暂存区, 并取消此次提交)
git stash (把暂存的文件提交到git的暂存栈)
git checkout 该提交代码的分支
git stash pop (将暂存栈中的代码放出来)
等代码提交到了正确的分支后,再次切到刚刚错的分支:
git push origin 错误的分支 -f (把不该上去的文件回退掉)
通过此番血泪史,以后进行代码改动的时候,一定要看清分支!!!
本文介绍了在Git中误操作,将代码提交到错误分支后的解决办法。未提交时,使用git stash暂存改动,切换到正确分支后用git stash pop恢复。已提交情况下,需回到错误分支,用git reset HEAD~1撤销提交,再将改动移到正确分支。作者提醒开发者务必注意分支管理。
229

被折叠的 条评论
为什么被折叠?



