• 当你代码写错分支时就用git stash吧


    stash的原理:
    将本地没提交的内容(git commit的内容不会被缓存 但git add的内容会被缓存)进行缓存并从当前分支移除,缓存的数据结构为堆栈,先进后出

    stash的参数详解:
    #1. git stash/git stash save
    git stash与git stash save是一样的,将没有提交的内容缓存并移除,而这条缓存名称为最新一次提交的commit -m的内容,如果没有本地提交则是拉远程仓库是的commit内容

    git stash save "xxx"
    加上自己的注解进行缓存

    有个问题需要注意些:
    stash 只会操作被git追踪的文件


    stash后新增的文件并没有进入缓存,这是因为git还没有追踪这个新增的文件,所以需要进行git add [文件名]让git追踪这文件,再进行stash就可以对新文件进行操作


    #2. git stash list
    返回缓存的列表

    #3. git stash pop
    将堆栈中最新的内容pop出来应用到当前分支上,且会删除堆中的记录


    看pop后面有一行是Dropped,在堆栈中删除了这个缓存
    如果pop出来的内容有冲突,git会中断此次pop并告知你需要进行冲突解决
    也可以指定堆栈中的记录通过在git stash pop后面加上git stash list中的名称(举例:git stash pop stash@{0})

    #4. git stash apply
    与pop相似,但他不会在堆栈中删除这条缓存,适合在多个分支中进行缓存应用
    也可以进行指定git stash apply stash@{0}

    #5. git stash drop/git stash clear
    git stash drop [名]删除单个缓存 举例git stash drop stash@{0}
    git stash clear全清

    #6. git stash show
    git stash show [名]显示与当前分支差异 举例git stash show stash@{0} 加上-p可以看详细差异

    #7. git stash branch
    指定或最新缓存创建分支

  • 相关阅读:
    电脑开机小键盘灯不亮,应该怎么设置?
    关于SqlServer数据库日期函数
    SqlServer数据库几种字段类型对比
    如何查找计算机端口?
    实用的几个小命令
    SqlServer中创建Oracle连接服务器
    局域网内设置打印机
    SqlServer2008数据库自动备份设置
    文件内容替换BAT
    Dockerfile文件与常用指令详解(2) Marathon
  • 原文地址:https://www.cnblogs.com/ygunoil/p/16479736.html
Copyright © 2020-2023  润新知