zoukankan      html  css  js  c++  java
  • Git实战指南----跟着haibiscuit学Git(第三篇)

    笔名:  haibiscuit

    博客园: https://www.cnblogs.com/haibiscuit/

    Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star)

    本项目地址: https://github.com/haibiscuit/StudyBook

    尊重笔者的劳动成果,未经允许请不要转载

    :git stash

    作用:

    将工作区的文件修改的内容暂存到栈中(前提是修改文件已被add到暂存区中)

     

    使用前提:

    使用git stash需要保证工作区的文件add到暂存区,如果工作区修改,但是没有放到暂存区,或是工作区根本没有修改任何文件,git stash命令是不起作用的.

     

    使用场景:

    当你切换分支的时候,如果工作区有修改的文件,不管你是否放到暂存区,切换到新的分支后,你修改文件的内容仍将可以看到,影响你的工作.

    所以,当你需要切换分支的时候,为了不让工作区已被修改的文件影响到其他分支内容,需要使用git stash暂存修改内容.

    当你使用git stash后,你修改的内容不管是在当前分支还是切换到其他分支,你修改的内容就不会被看到.

     

     

     

     

    正确的使用姿势:

    (1) .切换到其他分支前(此时工作区有文件被修改)

    1.1 git add     //将修改内容放入暂存区

    1.2 git status  //查看修改内容的状态(推荐常用)

    1.3 git stash   //将修改的内容放到栈中

     

    (2) .回到该分支

    2.1 git stash list   //查看栈中有没有放入的内容

    2.2 git stash pop  //将放到栈中的内容放回工作区(这时就可以看到被修改的文件了)

    2.3 git stash list   //确保栈中没有其他的文件

    (3).其他不常用命令(没不要下面的命令就别用了)

    3.1 git stash apply //恢复工作区修改文件(但是恢复后,stash内容并不删除你需要用git stash drop来删除)

    3.2 git stash drop  //删除栈顶内容

    3.3 git stash clear  //清空栈中内容(慎用)

     

    (4).加深理解

    为了加深对git stash的理解,执行以下命令

     

    4.1 touch test.txt   //新建test.txt文件

    4.2 vim test.txt     //使用vim在test.txt中添加一些内容(这一步很重要)

    4.3 git add test.txt  //将test.txt文件放入暂存区

    4.4 git stash       //将修改的内容添加到栈中(此时会发现工作区的test.txt添加的内容消失,即是空文件)

    4.5 git stash drop   //删除栈顶内容

    4.6 git status       //查看修改内容状态

     

    (注:

    在执行4.4 git stash那一步时会发现工作区修改的内容会消失,即工作区呈现的内容是本地仓库当前版本的内容

    另外4.5 git stash drop那一步很危险,执行该命令就找不回你修改的内容了)

  • 相关阅读:
    HDFS 常用Shell命令
    Hadoop单点伪分布模式安装
    部署及更新应用
    Linux云服务器下Tomcat部署超详细
    Android基础知识总结系列(一)——Android 系统框架
    Linux下的暴力密码在线破解工具Hydra安装及其组件安装-使用
    Luogu1501 Tree Ⅱ
    C#中Dictionary的用法(转)
    Lua协程
    SSH Secure Shell Client
  • 原文地址:https://www.cnblogs.com/haibiscuit/p/11986361.html
Copyright © 2011-2022 走看看