git stash

作者: hhooke | 来源:发表于2020-01-10 11:42 被阅读0次

    当我们在开发一个版本的时候,突然上一个版本出了一个bug需要修复。这时候一般的做法就是将当前代码提交一个commit然后新建一条分支修改bug,但是这样子无非是污染到了commit提交信息,因为我们新版本还未开发完。所以 git stash就能够解决这个问题

    🍗 保存当前的代码

    • git stash 直接将代码保存到stash中

    • git stash save "message" 将代码保存到stash中,病对其加以注释(新文件会被忽略)

    • git stash save -a "message" 包含新文件

    🍗 查看stash

    • git stash list 查看stash了哪些存储

    • git stash show 查看第一条stash的改动信息

      如需查看其他stash的改动信息,如查看第二个 git stash show stash@{1}

      -p 显示具体改动 git stash show -p

    🍗 取回stash的代码

    • git stash apply 应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0}

      如需使用其他的 git stash apply stash@{$num}

    • git stash popapply 差不多,只不过这个在取出之后会将此stash空间删除

    • git stash drop stash@{$num} 丢弃stash@{$num}存储,从列表中删除这个存储

    • git stash clear 删除所有缓存的stash

    🍗 举例说明

    当前我的git信息

    avatar

    当前我的分支修改状态 一个改动的文件,一个新增的文件

    avatar

    如果我们直接执行 git stash 新增的文件testNew.md是不会被添加进去的,需要执行 git stash -a 方可将两个文件都缓存进去

    如果添加stash的时候不写备注,则会使用分支最近的一条log的备注

    PS C:\study\Frontend-hhooke> git stash list
    stash@{0}: WIP on master: 8422a02 test文件
    
    

    使用 git stash save -a "这是备注"

    PS C:\study\Frontend-hhooke> git stash list
    stash@{0}: On master: 这是备注
    

    相关文章

      网友评论

          本文标题:git stash

          本文链接:https://www.haomeiwen.com/subject/lgupactx.html