git stash功能的使用
一,git stash的作用:
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
说明:架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,看一个git stash的例子:
root@kubuntu:/data/git/clog# git status
位于分支 dev
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
root@kubuntu:/data/git/clog# git stash
保存工作目录和索引状态 WIP on dev: 6a1ea30 e
root@kubuntu:/data/git/clog# git status
位于分支 dev
无文件要提交,干净的工作区
三,弹出stash时发生冲突报错:如何解决?
要解决冲突,可以通过创建新的分支来解决冲突
即:从当前创建新分支,暂存区的代码应用到新分支,
而堆栈中保存的stash代码恢复到原分支
弹出stash代码的命令:
root@kubuntu:/data/git/clog# git stash pop
error: 您对下列文件的本地修改将被合并操作覆盖:
a.txt
请在合并前提交或贮藏您的修改。
终止中
四,如何清除堆栈中的所有内容?
root@kubuntu:/data/git/clog# git stash clear
五,如何查看当前stash中的内容?
root@kubuntu:/data/git/clog# git stash list
六,stash功能使用需要注意的地方:
如果存在还没有add到暂存区的文件
则不能被stash,例如新增加还没做add的文件:
看一个例子:
root@kubuntu:/data/git/clog# git status
位于分支 dev
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
root@kubuntu:/data/git/clog# vi b.txt
root@kubuntu:/data/git/clog# git status
位于分支 dev
尚未暂存以备提交的变更:
(使用 "git add <文件>..." 更新要提交的内容)
(使用 "git checkout -- <文件>..." 丢弃工作区的改动)
修改: a.txt
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
b.txt
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
root@kubuntu:/data/git/clog# git stash
保存工作目录和索引状态 WIP on dev: 6a1ea30 e
root@kubuntu:/data/git/clog# git status
位于分支 dev
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
b.txt
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
说明:在上面的例子中:b.txt文件,因为没有被add到暂存区,
所以stash命令对其不起作用
git stash功能的使用的更多相关文章
- IDEA : Git Pull Failed 解决(IDEA中使用stash功能)
一.问题: 本地要commit代码,commit之前需pull代码,但pull提示冲突.如下 Git Pull Failed Your local changes would be overwritt ...
- git stash封存分支 以及关于开发新功能的处理
有种情况,我们要修复项目的bug时,但别的分支有修改的代码,要修复的bug可能会影响(所有分支共用一个暂存区).可以单独创建一个bug分支,用于修复和提交bug,在修改前可以先stash封存分支修改的 ...
- Git Stash紧急处理问题,需要切分支
在开发过程中,大家都遇到过bug,并且有些bug是需要紧急修复的. 当开发人员遇到这样的问题时,首先想到的是我新切一个分支,把它修复了,再合并到master上. 当时问题来了,你当前正在开发的分支上面 ...
- git stash 用法
git stash用于将当前工作区的修改暂存起来,就像堆栈一样,可以随时将某一次缓存的修改再重新应用到当前工作区. 一旦用好了这个命令,会极大提高工作效率. 直接举例说明: 1.准备工作,首先初始 ...
- git stash提交PR的正确步骤&git squash技术
1.git stash梳理 1.1git stash的克隆与同步 首先整理下git stash的逻辑是这样 在本地做出了新的修改,提交时显示当前的版本不是最新版本,这时就需要先pull一下自己代码仓库 ...
- Git的Bug分支----临时保存现场git stash
软件开发中,bug就像家常便饭一样,有了bug就需要修复,在Git中,由于分支是如此的强大,所以每个bug通过一个新的分支来修复,在修复后,合并分支,然后将临时分支删除. 当你接到一个修复代号为119 ...
- git stash命令详解
git stash命令用于将更改储藏在脏工作目录中. 使用语法 git stash list [<options>] git stash show [<stash>] git ...
- Svn Replacement For Git Stash
svn 实现git stash类似的功能 % svn diff > WorkInProgress.txt % svn revert -R . <make changes> % svn ...
- git stash应用
今天在看一个bug,之前一个分支的版本是正常的,在新的分支上上加了很多日志没找到原因,希望回溯到之前的版本,确定下从哪个提交引入的问题,但是还不想把现在的修改提交,也不希望在Git上看到当前修改的版本 ...
随机推荐
- Python数据类型方法整理
前言:主要是对Python数据类型做一个整理,部分知识点源于<python3程序开发指南(第二版)> 一.Python的关键要素 1.1 要素1:数据类型 int类型 str类型 ...
- 教务管理系统(node+express+mysql)
模块拆分 现在将教务系统拆分成九个模块: 教务系统教师业务:师资管理.教学计划管理.排课管理 教务系统学生业务:考试管理.毕业生管理.学生综合测评 信息查询:自习室查询.课程表查询 考试系统:实现学生 ...
- [程序员代码面试指南]最长递增子序列(二分,DP)
题目 例:arr=[2,1,5,3,6,4,8,9,7] ,最长递增子序列为1,3,4,8,9 题解 step1:找最长连续子序列长度 dp[]存以arr[i]结尾的情况下,arr[0..i]中的最长 ...
- charles常用功能 request和response(简单的操作)
先介绍一个修改request请求参数值的方法吧 第一步: 拷贝完成后还需要配置一下: 先添加一个: 然后下一步: 最后点击OK,就可以开始操作request和response数据了 先修改reques ...
- JVM--垃圾回收GC篇
Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收. Java 堆是垃圾收集器管理的主要区域,因此也被称作GC 堆(Garbage Collected Heap).从垃圾回收的角度,由于 ...
- 分布式系统监视zabbix讲解七之分布式监控
分布式监控 概述 Zabbix通过Zabbix proxy为IT基础设施提供有效和可用的分布式监控 代理(proxy)可用于代替Zabbix server本地收集数据,然后将数据报告给服务器. Pro ...
- treemap使用了解
参考了https://www.jianshu.com/p/d9ad7f6d75a0 https://www.zhuxiaodong.net/2018/collection-in-java-treema ...
- Java 里的 for (;;) 与 while (true),哪个更快?
在 JDK8u 的 jdk 项目下做个很粗略的搜索: mymbp:/Users/me/workspace/jdk8u/jdk/src$ egrep -nr "for \\(\\s?;\\s? ...
- IdentityServer4与API单项目整合(net core 3.X)
一.创建一个空的api项目 添加identityserver4的nuget包 配置config文件 public static IEnumerable<IdentityResource> ...
- maven打包(jar)类型错误
maven项目打包测试环境时部署发现是开发环境.确认打包命令无误, 此情况下将target内容全部删除,重新打包即可.是全部删除.