切换分支导致代码丢失的问题
1) 问题出现原因:当前在A分支修改一个问题,修改进行到一半,来了一个紧急的生产问题需要修复,在不提交当前分支代码的情况下,切换到M分支修改紧急需求。修改完毕后,A分支修改的内容丢失。
2) 解决:
i. 接到紧急任务后,在A分支使用 git stash 暂存当前修改,当前代码会恢复到本地最近一次commit
ii. git checkout M 切换到M分支,完成紧急迭代任务
iii. git checkout A 切回原分支,当前代码一贫如洗
iv. git stash list 查看暂存列表,里面(# list stashed changes in this git )
stash@{0}: xxxxxxxxxxxxxxx;
stash@{1}: yyyyyyyyyyyyyyyyyyyyy;
stash@{2}: zzzzzzzzzzzzzzzzzzzzzzzzz;
stash@{3}: vvvvvvvvvvvvvvvvvvv;
v. 如果没有在次中间使用git stash 的话,可以直接看最近的一次暂存git show stash@{0}
vi. 两种方式取出这条暂存:
i. git stash apply stash@{0} 取出暂存号为stash@{0}的代码,对暂存列表无影响(# see the last stash )
ii.git stash pop 取出最近的一次暂存,并将其在暂存列表中删除(apply last stash and remove it from the list)