zoukankan      html  css  js  c++  java
  • git 使用系列(一)—— git stash 的使用

    1. git 放弃本地修改

    git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态

    git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
    git reset --hard HASH #返回到某个节点,不保留修改。
    git reset --soft HASH #返回到某个节点。保留修改
     
    使用实例:
    ① 首先,git status
      发现有些文件有修改
     

    ② git stash 

      保存当前的工作进度。会分别对暂存区和工作区的状态进行保存

      git stash save "message..."

      这条命令实际上是第一条 git stash 命令的完整版

    ③ git stash list

    显示进度列表。此命令显然暗示了git stash 可以多次保存工作进度,并用在恢复时候进行选择

     ④git stash pop [--index] [<stash>]

    如果不使用任何参数,会恢复最新保存的工作进度,并将恢复的工作进度从存储的工作进度列表中清除

    如果提供参数(来自 git stash list 显示的列表),则从该 <stash> 中恢复。恢复完毕也将从进度列表中删除 <stash>

    选项--index 除了恢复工作区的文件外,还尝试恢复暂存区。

    ⑤ git stash apply [--index] [<stash>]

         除了不删除恢复的进度之外,其余和 git stash pop 命令一样

    ⑥ git stash clear

        删除所有存储的进度

     ——————————————————————————————————————————————————————————————————————————————————

    这篇文章也不错

    原文: http://blog.csdn.net/longxiaowu/article/details/26815433

    关于Git stash命令的使用方法网上一大把,我想记录的是我在使用过程中觉得实用及好用的:

    当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,除了commit原分支的代码改动的方法外,我觉得git stash是一个更加便捷的选择。

    步骤如下:

    一、添加改动到stash。在原分支 git stash save -a "messeag",网上很多很多资料都没有加 -a 这个option选项,我想他们的代码开发可能都是在原代码上进行修改吧。而对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区。

    二、恢复改动。如果你要恢复的是最近的一次改动,git stash pop即可,我用这个用的最多。如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。这方面网上的资料挺多的。

    三、删除stashgit stash drop <stash@{id}>  如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git  stash clear 是清除所有stash,整个世界一下子清净了!

    四、git stash pop  与 git stash apply <stash@{id}> 的区别。

    当我使用git stash pop 和 git stash apply 几次以后,我发现stash  list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply stash@{id} 命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop 命令。

  • 相关阅读:
    css修改element-ui滚动条样式
    执行java 报错 _System.out.printIn : 找不到符号
    java -version失效的解决方法
    vue cli4配置多个baseUrl环境,axios涉及多个请求域的情况
    vue cli4配置多个跨域_正则重复
    axios中vue 发送postman中raw_json格式的请求
    开发常用快捷键
    js字符串时间转化为时间戳
    vue项目vue-cli4展示本地markdown语法_md文件,图文详细讲解
    vue响应式原理源码:带你一步精通vue
  • 原文地址:https://www.cnblogs.com/oxspirt/p/6066305.html
Copyright © 2011-2022 走看看