git stash 和 git stash 应用时无需立即清除工作目录

标签 git

很多时候,我需要在进行实验性更改之前拍摄当前工作目录的快照作为备份。这就是我所做的。

git stash
git stash apply

但是我使用了一些监听磁盘更改的应用程序,它们会导致不必要的行为。我想在第一步中不清理本地工作目录来执行相同的操作。

它可以是一行代码或多行字符串,因为我将为其创建一个函数。

奖励:如果它也保留当前的暂存/非暂存区域,那就太好了。

最佳答案

尝试:

git stash store $(git stash create)

引擎盖下git stash [push]是:

  1. 创建一个存储索引+工作树内容的提交,
  2. 将提交存储在名为 refs/stash 的引用中(之前的存储实际上是该引用的引用日志),
  3. 清理磁盘上的文件。

如果你看the docs ,还有其他子命令 git stash :

  • create按照步骤 1 中的方式创建提交,并在 stdout 上输出其 sha
  • store执行第 2 步

(第 3 步是 git reset --hard HEAD )

关于git stash 和 git stash 应用时无需立即清除工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65331419/

相关文章:

Git - 从 SHA1 中查找文件名

php - Laravel 5.2 - 使用 composer 和 git bash 安装 laravel 时出错

java - 我如何使用 JGit 进行 pull 或获取?

python - 由于文件时间戳,尝试编译 Python 失败

java - 使用 NetBeans 将代码推送到 github 私有(private)存储库时如何解决此错误?

ruby-on-rails - Rails - Heroku - Git - 使用 os x 10.6.5 连接到 repo 时出现问题

git - 如何显示存储库中的所有分支?

git - 如何在不创建长期分支的情况下维护旧版本?

git - git config 中的 Shell 变量扩展

git - 将 git 提交与 Team Foundation 工作项相关联