使用idea时,常见的和分支有关的错误操作:
1.在错误的分支上写了很多代码,尚未提交(commit)
使用以下命令即可解决:
git add .
(把所有改动暂存,idea上对应命令 Git->Add)
git stash
(把暂存的文件提交到git的暂存栈,idea上对应命令Git->Repository-> Stash Changes)
git checkout
本该提交代码的分支 (idea上对应命令 Git->Repository-> branchs->选中分支->checkout 或者checkOut as)
git stash pop
(将暂存栈中的代码放出来,idea上对应命令Git->Repository-> UnStash Changes)
接下来,既可以正常的继续修改或者提交(Commit & push)了.
2.在错误的分支写了很多代码,并且已经提交(commit)
git checkout
不该提交代码提交了代码的分支(idea上对应命令 Git->Repository-> branchs->选中分支->checkout 或者checkOut as)
git reset HEAD~1
(最近一次提交放回暂存区, 并取消此次提交,idea上对应命令Git->Repository->Reset HEAD)
git stash
(把暂存的文件提交到git的暂存栈,idea上对应命令Git->Repository-> Stash Changes)
git checkout
应该提交代码的分支 (idea上对应命令 Git->Repository-> branchs->选中分支->checkout 或者checkOut as)
git stash pop
(将暂存栈中的代码放出来,idea上对应命令Git->Repository-> UnStash Changes)
下面就可以代码commit push到正确的分支上了.
将代码提交到了正确的分支后,再次切到刚刚错的分支git push origin 错误的分支 -f (把不该上去的文件回退掉)
3.在错误的分支写了很多代码,并且已经提交,之前分支之间没有差异
选中正确分支:idea: Git->Repository-> branchs->选中分支->checkout 或者checkOut as)
将错误分支上的代码merge到正确分支上:Git->Repository->branchs->Merge into Current