开发过程中经常会需要stash(贮藏)部分文件的场景,无奈sourcetree并不支持这种操作, gitkraken神器是可以的,但是现在收费了。所以只能自己动手命令行搞起来了。

参考了一下官方文档:
git stash命令有如下用法

git stash list [<options>]
git stash show [<stash>]
git stash drop [-q|--quiet] [<stash>]
git stash ( pop | apply ) [--index] [-q|--quiet] [<stash>]
git stash branch <branchname> [<stash>]
git stash [push [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet][-u|--include-untracked] [-a|--all] [-m|--message <message>][--] [<pathspec>…​]]
git stash clear
git stash create [<message>]
git stash store [-m|--message <message>] [-q|--quiet] <commit>

可以看到我们最常用的

git stash

其实是

git stash push

的缩写。不过要使用这些参数的话就不能缩写了,比如你想指定一个stash的说明,你可能会这样:

git stash -m "this is a test"

但是这样是不行的,你必须要:

git stash push -m "this is a test"

可以看到push这个命令有最复杂的参数,简单说明下:

  • -p|–patch
    交互式stash,每个修改逐个确认,之后不停按y/n来选择要stash的修改

  • -k|–[no-]keep-index
    已经git add的文件stash之后修改还保留

  • -q|–quiet

  • -u|–include-untracked
    新创建的文件直接git stash是不会被stash的,加上这个就可以

  • -a|–all
    比上一个-u更强,连被git ignore的文件都可以stash

  • -m|–message <message>
    指定一些说明性文字

  • [--] [<pathspec>…​]
    指定stash的文件,但是如果其他文件有被git add过,也会被同时stash。不过只有指定的文件的修改会从工作副本中clean掉。

那么stash部分文件就有两种方式

  1. 使用-p进行交互式操作(适合需要具体到修改的时候,例如某个文件中部分需要stash部分不需要)

  2. 通过在命令后面直接指定文件(一般情况肯定这个方便)

# 指定说明信息并stash所有java文件的修改
$ git stash push -m "this is a partly stash test" **/*.java

git stash 部分文件相关推荐

  1. git stash:暂存文件但不add,重新工作后再取回

    当程序文件开必到一半时,要做其它工作,而又没有必要git add当前文件,可以 用git stash方法: 例如:2.txt最新的commit是写到了77777777, 然后再写了6666666666 ...

  2. Git之解决git stash pop多次产生的文件冲突问题

    1.问题 我们用git命令一般拉取线上代码的时候,本地修改了,我们一般先git stash下,接下来git pull, 然后git stash pop下,但是我新增了文件,没有添加到本地git(也就是 ...

  3. git stash 拉去_git操作命令符

    1.将远程分支的代码合并到本地分支 1)git fetch  获取到远程分支的代码库  执行完会看到远程分支更新的内容同步到本地 2)git merge origin/要合并的与参横分支名称. 2.如 ...

  4. git stash pop_git常用命令行背诵并默写(全)

    退出 : 保存退出 : 拷贝项目到本地 git 全局配置 git 当前仓库配置 git 查看 global 配置 git 查看当前仓库配置 git 删除 global 配置 git 比如 git 删除 ...

  5. git stash 强制恢复_开发中必须要掌握的 Git 技巧

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:你喜欢吃青椒么 juejin.im/post/5d157bf3f265da1bcc1 ...

  6. git merge git pull时候遇到冲突解决办法git stash

    git merge git pull时候遇到冲突解决办法git stash 在使用git pull代码时,经常会碰到有冲突的情况,提示如下信息: error: Your local changes t ...

  7. git stash 个人理解

    link git stash (git 储藏)用于以下场景: 1.发现一个类是多余的,想删掉它担心之后会用到它,想保存但又不想增加一个脏的提交,这时候可以考虑使用git stash; 2.使用git的 ...

  8. git stash pop冲突_这有一份 git 日常使用清单,你需要吗?

    点击上方"前端教程",选择"星标" 每天前端开发干货第一时间送达! 作者:echozh juejin.im/post/5d5b4c6951882569eb570 ...

  9. git stash封存分支 以及关于开发新功能的处理

    有种情况,我们要修复项目的bug时,但别的分支有修改的代码,要修复的bug可能会影响(所有分支共用一个暂存区).可以单独创建一个bug分支,用于修复和提交bug,在修改前可以先stash封存分支修改的 ...

最新文章

  1. ajax java用户名查重_Django之AJAX
  2. 新鲜零食=零食“新”市场+用户“鲜”生活
  3. Spring Data JPA 从入门到精通~如何配置多数据源
  4. Entity Framework 4.1 : 贪婪加载和延迟加载
  5. OpenShift 4 - Fedora CoreOS (4) - 用 Ignition 定制 CoreOS 的网络/存储等配置
  6. 问题 G: 筛选素数
  7. 比特币市值目前是白银68%
  8. 机器学习九大挑战(转载)
  9. [代码发布]中文文字转换组件 1.0,支持VB/ASP编程
  10. MySQL主主+Keepalived高可用(一):解决单点故障
  11. 2015年江苏省计算机c语言二级考试,2015江苏省计算机等级考试C语言部分试题.doc...
  12. 浅谈架构之路:前后端分离模式
  13. 为什么觉得今年工作特别难找?
  14. SQL Server 2019基础
  15. 八达岭长城 景区 导游图 、地图、大图、高清、超高清
  16. 微信账单动态吸顶功能实现逻辑
  17. idm下载器(Internet Download Manager)
  18. openstack-t swift搭建(完美搭建)2021
  19. EasyPR--一个开源的中文车牌识别系统
  20. 三十六、黄眉童儿的真实身份

热门文章

  1. 行业分析-全球与中国旋转喷淋球市场现状及未来发展趋势
  2. vue element upload组件 file-list的动态绑定
  3. NOI试题(题目+答案)(三)(上)
  4. Ubuntu16安装docker
  5. CDC CClientDC CPen CBrush使用
  6. 蓝桥杯2017 B组C省赛真题 2017-10 k倍区间
  7. 12.2烤仔建工×MetaEstate | K歌之王在元宇宙的秘密据点
  8. phpMyAdmin 初始用户名 密码
  9. 解决 idea 启动报错: Failed to create JVM.JVM.Path XXXXXXX\jbr\
  10. 2021SC@SDUSC(dolphinscheduler- common4)