Stash
有一天正在特性分支 开发,老板说线上有个bug需要切到dev分支修复,但是开发一半的代码怎么办呢?一般我们会先commit一下提交上去加个备注。但是如何优雅的处理这种狼狈的提交策略呢?
当你会了stash,你就不会这么狼狈了
git stash? 执行当前命令就会把代码存起来
git stash apply 修复完线上问题,切换到特性分支,执行当前命令就能把存起来的代码放出来
相关命令:
# 保存当前未commit的代码
git stash
# 保存当前未commit的代码并添加备注
git stash save "备注的内容"
# 列出stash的所有记录
git stash list
# 删除stash的所有记录
git stash clear
# 应用最近一次的stash
git stash apply
# 应用最近一次的stash,随后删除该记录
git stash pop
# 删除最近的一次stash
git stash drop
# git stash list 举例说明
当有多条 stash,可以指定操作stash,首先使用stash list 列出所有记录
$ git stash list
stash@{0}: ABC*** ...
stash@{1}: def*** ...
stash@{2}: ** ...
应用第二条
$ git stash apply stash@{1}
reset --soft
后悔药:回退你已经commit的内容,并将commit的修改内容放回暂存区
一般我们使用reset的时候,会直接使用 git reset --hard commitId ,它能让commit记录强制回溯到某一个节点。而 git reset --soft commitId 除了回溯到指定节点外,还会保留节点的修改内容。
?
revert 回退代码
强于reset
未完待续。。。。