美文网首页
[Git] git stash命令

[Git] git stash命令

作者: Speronie | 来源:发表于2017-09-15 00:16 被阅读34次

    git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。

    基础命令

    git stash

    备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。

    git stash pop

    从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。

    git stash list

    显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。

    git stash clear

    清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

    进阶

    原文链接

    git stash save "work in progress for foo feature"
    

    当你多次使用'git stash'命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,'git stash list' 命令可以将当前的Git栈信息打印出来,你只需要将找到对应的版本号,例如使用'git stash apply stash@{1}'就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用'git stash clear'来将栈清空。

    git stash          # save uncommitted changes
    # pull, edit, etc.
    git stash list     # list stashed changes in this git
    git show stash@{0} # see the last stash 
    git stash pop      # apply last stash and remove it from the list
    
    git stash --help   # for more info
    

    相关文章

      网友评论

          本文标题:[Git] git stash命令

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