问题
1、git 切换分支的条件是:当前的代码与已提交的代码保持一致。
2、同时维护多个分支时可能会遇到这样的场景:你正在修改 A 分支的代码,而此时此刻 B 分支有紧急任务。这时,你需要切换到 B 分支先执行紧急任务。但是,你的 A 分支代码又修改了一半。那该怎么做呢?
A:直接抛弃当前修改,rest --hard
B:匆忙提交当前代码
C:先将当前修改缓存下来,然后再切换分支
选 A 属于病急乱投医,选 B 会让你的 git 凌乱不堪,C 才是最优雅的方案。
缓存当前代码
运行 git stash 命令,git 会将当前代码以栈的形式缓存。
git stash
缓存后可以看到信息:
git stash list 命令可以查看已缓存的代码信息:
git stash list
恢复缓存的代码
git stash apply stash@{n} 命令可恢复对应索引的缓存代码,n 为缓存索引号。
git stash apply stash@{n}
如果只有一个缓存,也可以用 git stash apply --index 命令。
删除缓存
恢复缓存后,缓存不会自动删除,需要我们手动清理。
使用命令 git stash drop stash@{n} ,删除对应索引的缓存代码,n 为缓存索引号。
git stash drop stash@{n}