工作中經常會遇到:正在開發某一功能在feat1
分支上,但突然有一線上bug要解決,要切換到feat2
分支,但是feat1
功能還沒開發完,現在commit
的話,會造成commit log
信息不完整,不想commit
。這個時候stash
就可以使用了,將當前修改的代碼保存到stash中
暫時保存。
保存當前代碼
git stash: // 直接將代碼保存到stash中
git stash save "message" // 保存到stash的同時,加解釋(不包含新文件)
git stash save -a "message" // 保存到stash的同時,加解釋(包含新文件)
查看所有的stash
git stash list
取回stash
git stash pop // 刪除stash的最後一次的存儲,並放回工作區
git stash pop stash@{1} // 刪除stash的指定的存儲,並放回工作區
git stash apply // 取出stash的最後一次的存儲,放回工作區,但是不會刪除stash的存儲
git stash apply stash@{1} // 取出stash的指定的存儲,放回工作區,但是不會刪除stash的存儲
刪除stash
git stash drop stash@{id} // 刪除指定的stash
git stash clear // 清空所有的stash