如何从 git stash 中提取单个文件(或对文件的更改)?

2023-12-02

是否可以从 git 存储中提取单个文件或文件的差异,而不弹出存储更改集?


On the git 存储您可以在联机帮助页中阅读(在“讨论”部分中,“选项”描述之后):

存储表示为提交,其树记录了提交的状态 工作目录,其第一个父目录是 HEAD 处的提交 存储已创建。

所以你可以处理藏匿的东西(例如stash@{0}是第一个/最上面的存储)作为合并提交,并使用:

$ git diff stash@{0}^1 stash@{0} -- <filename>

解释:stash@{0}^1表示给定存储的第一个父级,如上面的解释所述,它是存储更改的提交。我们使用这种形式的“git diff”(有两次提交),因为stash@{0} / refs/stash是一个合并提交,我们必须告诉 git 我们想要与哪个父级进行比较。更神秘的是:

$ git diff stash@{0}^! -- <filename>

也应该有效(参见git rev 解析联机帮助页的解释rev^!语法,在“指定范围”部分)。

同样,您可以使用git 结账从存储中检查单个文件:

$ git checkout stash@{0} -- <filename>

或将其保存在另一个文件名下:

$ git show stash@{0}:<full filename>  >  <newfile>

or

$ git show stash@{0}:./<relative filename> > <newfile>

(note这里 是相对于项目顶级目录的文件的完整路径名(认为:相对于stash@{0})).


你可能需要保护stash@{0}来自 shell 扩展,即使用"stash@{0}" or 'stash@{0}'.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 git stash 中提取单个文件(或对文件的更改)? 的相关文章

  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何解决 VSTS 中拉取请求中的合并冲突?

    我已经创建了拉取请求 我进入了这个 批准 按钮不执行任何操作 并且 完成 被禁用 如何解决拉取请求中的冲突 Update 微软刚刚添加了基于浏览器的合并 这可能会让你摆脱小冲突的困境 并提供自 Sprint 150 起改进了不同场景的可视化
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • 如何 git grep 仅一组文件扩展名

    如何执行 git grep 并将检查的文件限制为一组文件 我希望能够 grep cpp 和 h 文件的内容来查找 MyFunc 例如 git grep MyFunc hc 但是 这也匹配 c 文件和 cs 文件 Use git grep M
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • git reset 命令中的 ~1 是什么意思?

    git 重置 HEAD 1 我的印象是 1 的意思是 从 HEAD 开始 遵循 1 链接 并将 HEAD 标签设置为新的提交节点 我正期待着 git 重置 HEAD 2 跟随 2 个链接 然后设置 HEAD 标签 但是 如果我尝试它 我会收
  • Composer 用于下载私有 GitHub 存储库

    我无法使用 Composer 下载 github 私人存储库 php composer phar update 我收到以下错误 The https api github com repos company private1 https ap
  • Ansible bitbucket 克隆存储库配置 ssh 错误

    我之前发布过这个问题 但那里的答案不再有效 总之 当使用 Ansible 配置我的 vagrant box 时 在尝试使用 ssh 克隆我的 bitbucket 私有存储库时 我遇到了一个神秘的错误 该错误指出 权限被拒绝 公钥 然而 如果
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • apt-get 无法在 ubuntu dockerfile 中工作

    我对 docker 相当陌生 正在尝试通过编写自己的镜像来学习 并且目前正在阅读 Docker 的实际操作 ISBN 1633430235 在我自己的代码和书中的示例 第 146 页 中 我想通过 dockerfile 安装 git My
  • git 认为文件已更改

    我在一台机器上对一个项目做了一些工作 然后推送到 github 在另一台机器上克隆并做了一些工作 然后推送 然后我回到第一台机器并做了一个pull 现在 第一台机器认为项目中最初的所有文件都已更改 我试过了 git checkout f a
  • Android 存储库初始化失败

    我想我非常仔细地遵循该网站的说明 http source android com source downloading html http source android com source downloading html 但是当我尝试这
  • Git 在哪里存储标签?

    Git 在哪里存储标签 我执行 git tag v0 1 0 v0 10 0 v0 11 0 但目录 git refs tags是空的 Git 将这些标签存储在哪里 谢谢 它们也可以存储在 git packed refs
  • 无法通过 Git Bash 克隆 git 存储库

    在尝试使用克隆存储库时git clone 它显示以下错误 致命 无法访问 https github com microsoft c9 python getting started git https github com microsoft
  • git reflog 和 log 有什么区别?

    手册页说 log 显示提交日志 reflog 管理 reflog 信息 reflog 信息到底是什么 它有哪些日志没有的信息 日志看起来更详细 git log显示当前的 HEAD 及其祖先 也就是说 它打印提交 HEAD 指向的提交 然后打
  • Git 更改丢失 - 为什么?

    我们的开发团队正在使用 git 最近我们至少两次丢失了文件更改 我们正在使用私人 Github 存储库 在当前情况下 我们可以返回 Github 上的日志并查看我对文件所做的一些更新 后来 另一位团队成员更改了文件的不同部分 它似乎破坏了我
  • 使用 gitignore 嵌套存储库。

    我想嵌套 2 个 git 存储库 我一直在阅读子模块 有一段时间我认为它很棒 我想我可能想要其他东西 这是我的情况 首先 我想我应该提到我的所有服务器都托管网站 并以 staging domain com 和 domain com 实时 模
  • 如何在不在存储库中的情况下执行 Git 命令?

    有没有一种方法可以在不位于存储库的情况下对存储库执行 Git 命令 例如这样的事情 git home repo log 请不要告诉我cd到它 我正在通过一个exec call Use C作为 git 的第一个参数 git C home re
  • git merge 冲突的不同场景

    我试图了解 git 合并后可能发生 git 冲突的情况以及如何避免它们 我创建了一个 git 存储库并向其中添加了一个文本文件 我已将 1 添加到文本文件中并将其提交给 master 我已经从 master 创建了一个新分支 分支 2 并将

随机推荐

  • 如何在窗口中安排 Oracle DBMS 作业

    我想创建一个 Oracle DBMS 作业 该作业在每个工作日 不是周末 的 09 00 到 20 00 每 10 分钟运行一次 我想知道我是否可以做到这一点FREQ作业定义的参数 否则我必须创建一个New Maintenance Wind
  • java中用数组常量定义的枚举

    我想知道是否可以用数组定义枚举作为常量 请参阅以下代码摘录 编译时不会出现非法表达式开始错误 有人可以帮助我吗 非常感谢 public enum Currency PENNY 1 one oneone NICKLE 5 five DIME
  • VSTS 安装后将代理状态从离线更改为在线

    我遇到 VSTS 代理状态离线的问题 我通过 cmd 在正确的池下安装了代理并在之后下载 但它仍然离线 请提供任何帮助吗 如果构建代理以交互模式运行 您需要通过运行来启动代理run cmd file 以管理员身份打开命令行 Run run
  • Visual Studio 减慢应用程序速度

    这是一个模糊的问题 但是对于 Visual Studio 减慢应用程序速度我能做些什么吗 如果我在 Visual Studio 之外运行可执行文件 它会以非常可接受的速度运行 如果我在启用调试器的情况下在 Visual Studio 中运行
  • .sheet:仅显示一次,然后不再显示

    使用Beta4 似乎该错误仍然存 在 以下视图序列 列表 其中点击列表条目可打开另一个列表 允许呈现ListView正好一次 这onDisappear从未被调用过 所以showModal标志发生变化 但不会触发重新显示ListView再次点
  • 如何从 Information_Schema.Columns 获取列的主键或键约束详细信息?

    如何从 Information Schema Columns 获取列的主键或键约束详细信息 我从 sys indexes 获取输出 但是在使用 Information Schema 加入查询时 我得到重复的记录 SELECT COLUMN
  • Git 推送仅适用于裸存储库?

    当我尝试 git push origin master 到外部磁盘上的远程存储库时 出现 git 警告 指出在下一个版本的 git 中 pusing 签出存储库将默认被拒绝 在外部磁盘上 我已签出项目 并且我想将我在计算机上所做的更改发送到
  • 在 PowerShell 2.0 中将编码设置为 ANSI

    我想使用参数将文件的编码设置为 ANSI Encoding of the Set Contentcmdlet 我尝试了这个 但它不起作用 Set Content LiteralPath filePath Encoding Default P
  • 当被测试者在 Perl 中使用 TAP 失败退出时,是否可以测试预期的错误?

    假设您正在运行一些单元测试 并且您想查看正在测试的方法 或脚本或函数或其他内容 是否失败 如何设置这样的测试 我希望有这样的事情 ok obj gt method my bad params DEATH method dies as exp
  • _=> 这个下划线在 Lambda 表达式中是什么意思?

    lambda 表达式是什么样的 gt expr mean 目的是什么 作为 lambda 的输入 Example int count 0 list ForEach gt count 1 这是当您不关心参数时使用的约定
  • 如何在 Android 中启用 GPS

    如何在 Android 中打开 GPS 关闭时检索当前位置 我测试了两种方法 private void turnGPSOn String provider Settings Secure getString getContentResolv
  • 重新排列方程

    我的 C 代码中有以下等式 k dl 1 0 pHold centre pHold pHold 2 0 centre centre square 2 0 centre 我知道浮点除法比乘法昂贵得多 我已经为此苦苦挣扎了一段时间 有没有什么办
  • 等待函数完成执行并使用结​​果

    这是场景 我有一个活动 A 它有一个按钮和文本视图 我有另一个类 B 其中包含执行各种功能的方法 创建类 B 的实例后 当单击按钮时 会从 A 调用它的公共方法之一 该方法需要一段时间来执行 它调用类中另一个耗时的私有方法 并返回类 B 的
  • 如何通过单击 JSP 页面中的超链接或按钮将当前项目传递给 Java 方法?

    我有一个 HTML 表 其中显示从数据库中获取的行 我希望用户能够通过单击每行旁边的删除超链接或按钮来删除行 当用户单击每个删除超链接或按钮时 如何在页面上调用 JSP 函数 以便我可以从数据库中删除该行的条目 到底应该做什么 a or a
  • 另一个 Java 泛型“不兼容类型”编译错误

    我正在编写一些代码并遇到了一个incompatible types编译错误 这就是我所拥有的 public interface Expression
  • 对于 Windows Server 2008,WebRequest 无法通过 TLS 1.1 / 1.2

    我正在运行一个 net 4 5 应用程序 该应用程序向仅支持 TLS 1 1 和 TLS 1 2 的外部服务器发出安全出站请求 当我从 Windows 8 8 1 主机运行该应用程序时一切正常 但在 Windows Server 2008
  • AngularJS - 一个简单的无限滚动

    我正在尝试编写一个与此处找到的类似的小型无限滚动 http jsfiddle net vojtajina U7Bz9 我已经能够显示前 5 条数据 但是在滚动时 其他项目不会显示 HTML div ul li i Title li ul d
  • 将 data.frame 列从因子转换为字符

    我有一个数据框 我们就这样称呼他吧bob gt head bob phenotype exclusion GSM399350 3 4 8 25 44 11b 11c 19 NK1 1 Gr1 TER119 GSM399351 3 4 8 2
  • iOS 11 中 UILabel 错误换行

    我在使用没有自动布局的 XIB 的应用程序时遇到问题 我不知道这是否是重要信息 我有使用自动换行的 2 行 UILabel 在 iOS 10 中 自动换行工作正常 第一行包含一个单词 特殊字符 例如 符号 例子 然后 在 iOS 11 上
  • 如何从 git stash 中提取单个文件(或对文件的更改)?

    是否可以从 git 存储中提取单个文件或文件的差异 而不弹出存储更改集 On the git 存储您可以在联机帮助页中阅读 在 讨论 部分中 选项 描述之后 存储表示为提交 其树记录了提交的状态 工作目录 其第一个父目录是 HEAD 处的提