是否可以根据标准输入 git-diff 文件?

2024-03-07

假设我正在编辑一个文件。如果我保存文件,git-diff会给我它相对于索引的变化。我想在不先保存文件的情况下获取相对于索引的更改 - 以获得“实时”差异。

一种解决方案是将未保存的更改写入临时文件(即将文件保存在其他地方),将暂存文件写入另一个临时文件(git show :file > tempfile2) then git-diff tempfile tempfile2。然而这似乎不优雅。

有没有更好的办法?


Since git 1.5.1 https://git.kernel.org/cgit/git/git.git/tree/Documentation/RelNotes/1.5.1.txt?id=v1.8.2#n29有一个选项可以与标准输入进行比较 - 只是没有记录

$ echo foo | git diff --no-index -- my_file -

在进一步研究这个问题时,我意识到这可能不是 OP(或我)想要的 - 它将文件的当前状态与 stdin 进行比较,而不是将文件的最后提交状态与 stdin 进行比较。像这样的事情会做到这一点

$ echo foo | diff -u <(git show :my_file) -

请注意,这确实意味着直接调用 diff,这可能不会获取 git 配置中的某些设置。基本上正如艾迈斯半导体在他的回答中所说的那样。

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

是否可以根据标准输入 git-diff 文件? 的相关文章

  • 尝试编译 git 但在 linux 中找不到 libcurl

    我想编译支持 http https 的 git 我有 ls usr include curl curlbuild h curl h curlrules h curlver h easy h mprintf h multi h stdchea
  • 合并两个github帐户

    假设我有两个 github 帐户xyz 邮件 ID email protected cdn cgi l email protection and abc email protected cdn cgi l email protection
  • 如何在提交后删除本地 git 历史记录?

    我想从 Dropbox 切换到开源 Sparkleshare 它使用 git 进行同步和版本控制 如果说我在文件夹中删除了一个 1GB 文件 它会保留在本地 git 文件夹的历史记录中 但我希望将这种大量数据放在服务器上而不是客户端上 如何
  • 编辑 git patch 给出“您编辑的块不适用”

    我正在交互地添加一个文件 git add template panels panel reports php p diff git a template panels panel reports php b template panels
  • git difftool 进行目录比较?

    是否可以使用 git difftool 命令来打开已更改文件和暂存 检查文件之间的目录比较 因此 理想情况下 如果 2 个文件已更改 它们将是唯一显示的 2 个文件 但在目录比较中 我读过关于让 git 并行给出所有文件差异的帖子 所以像
  • git 别名:多个命令、可变参数

    我经常发现自己输入以下内容 git push remote1 branch1 branch2 tag1 tag2 tag3 git push remote2 branch1 branch2 tag1 tag2 tag3 我更喜欢一个别名 我
  • git receive-pack 以 0000 停止

    我对 git 很陌生 目前正在尝试在 opensuse 上使用 gitolite 和 trac 设置环境 我设法使用来自的脚本迁移旧的 svn 存储库http john albin net git git svn migrate http
  • 创建 Git 标签时自动运行 Git hook

    是否有一个 Git 钩子可以在添加新的 Git 标签时执行 因为我想自动将新的 Git 标签名称写入文本文件 您知道如何执行此操作吗 虽然目前无法使用挂钩 但您始终可以创建一个简单的脚本 mytag sh bin sh z 1 git ta
  • 如何在 Mac OS X 10.9 上安装和使用最新的 Git?

    我从 sourceforge 下载了 Git 2 4 3http git scm com download mac http git scm com download mac对于我的 Macbook Pro OS X 10 9 5 然后安装
  • 将远程存储库导入为具有完整历史记录的子目录

    我想将远程存储库作为具有完整历史记录的子目录进行合并和解耦 有多种方法和问题可以实现这一点 我的第一次尝试是使用subtree但它似乎没有重写文件的历史记录 所以我无法查看合并存储库的历史记录 接下来的尝试是手动合并它 就像 Seth Ro
  • 无法连接到存储库:执行 git 命令时出错:git ls-remote -h ***public github url *** HEAD

    I have installed jenkins on ec2 instance when i try to configure my public github repo with the ec2 instance then it thr
  • 用于维护项目扩展分支的 Git 工作流程?

    我们在 GitHub 上分叉了一个 OSS 项目 并向其添加一些自定义扩展 我们希望将我们所做的一些更改发送回原始项目 错误修复等 但其他更改是原始项目维护者目前不感兴趣的功能扩展 我正在尝试找出管理这种情况的最佳工作流程 我希望我们的主分
  • Git - 致命:无法获取当前工作目录?

    When I git clone从回购协议中 我得到 fatal Could not get current working directory No such file or directory 我该怎么办 我检查了服务器并发现 git文
  • 如何将Github中的develop分支设置为默认分支而不是master?

    我知道这可以在存储库的管理页面上完成 可以在那里设置另一个默认分支 这就是这个问题的答案 但我发现 也许是一个错误 以下内容 如果你的master分支和develop分支完全相同 那么git克隆将不会克隆默认的 develop 分支 但仍然
  • git分支没有显示所有分支

    opt lampp htdocs drupal 8 4 0 git branch 我已经在我的系统中安装了drupal 我想切换到其他分支 但是当使用git分支时不显示其他分支 Execute git branch av显示所有远程和本地分
  • 如何在 GitHub 中创建嵌套存储库?

    我可以通过创建一个存储库https github com https github com say repo 并有 https github com username repo git 如何创建另一个存储库 例如sub repo 置于rep
  • 如何运行“git status”并获取文件名

    如何运行 git status 并只获取文件名而不是长相对路径 的输出git status porcelain旨在易于在脚本中解析 输出完整路径而不是相对路径 无论当前目录位于树中的位置 每行输出由git status porcelain有
  • 是否可以使用 Visual Studio 中的 git stash 命令

    我正在使用 Visual Studio 2017 的团队资源管理器来处理git存储库 每次我使用git stash or git stash pop 我需要打开 Git Bash 控制台并导航到我的项目文件夹并运行命令 有什么方法可以隐藏在
  • git 显示更改了 0 次插入(+)、0 次删除(-)的文件

    很多时候 当我运行 git diff shortstat 命令时 它会输出以下内容 17 files changed 0 insertions 0 deletions 即使没有插入或删除 文件怎么可能发生变化 如果项目中某些文件的文件权限已
  • 如何使用 git-svn 切换 svn 存储库?

    我有许多使用 git svn 创建为 SVN 存储库克隆的 git 项目 我们已将 SVN 存储库迁移到新的提供商 因此 URL 现在已更改 如何更新 git 克隆的远程 SVN URL 一种可能性是我从新的 SVN 存储库重新克隆 但我不

随机推荐

  • 将文件以 HTML 形式存储到 MySQL 数据库中

    我有以下 HTML 表单 正如你所看到的 它正在保存一个文件
  • awk:按“\n”分割

    我正在尝试处理一个日志文件 其中条目被压缩为一行 换行符编码为 n 我想将所有内容保留到第一个 n 并丢弃其余部分 awk F n print 1 file不起作用 也不起作用awk F n print 1 file 该命令的正确形式是什么
  • dbpedia 提取 JSON

    http dbpedia org resource Los Angeles http dbpedia org resource Los Angeles您可以通过在 HTTP 请求中使用适当的标头以编程方式以多种格式请求此数据 例如 Acce
  • 使用 mod_rewrite 我可以在 RewriteCond 中指定 RewriteBase 吗?

    我想让我的 htaccess 文件指定不同的 RewriteBase 具体取决于 htaccess 文件是在我的本地计算机上还是在 Web 服务器上 这是我尝试过的 mod rewrite 代码 但是它不起作用 RewriteCond HT
  • 如何跨 UNION 重复 SQL 查询的部分? (SQL 中的 DRY)

    我有一个查询返回三个 UNION 查询的结果 每个查询都有一个冗长的 select 语句 select 语句的某些部分如下所示 coalesce a fact1 Fact1 coalesce b fact1 Fact2 from join
  • Angular.js 与 Elm 相比有何优缺点?

    我正在考虑在浏览器中进行一些反应式编程并比较 angular js http angularjs org http angularjs org 与榆树 http elm lang org http elm lang org 各自的相对好处
  • 如何隐藏/不绘制具有 0/null/未定义值的条形?

    如何隐藏错误的值 0 空或未定义 我尝试过做类似的事情 new Chart this barCanvas nativeElement data datasets data value lt 1 null value value2 lt 1
  • 如何为 bar_label 设置科学记数法标签格式

    我正在 seaborn 条形图中绘制数据 我想将 pandas 数据框中的某些内容标记到栏中 我已经弄清楚了标签部分 请参阅下面要复制的代码 但我仍然想将其转换为科学计数法 import pandas as pd d name experi
  • 有什么办法可以让kafka流暂停一段时间然后再恢复吗?

    我们有一个要求 即使用 Kafka Streams 从 Kafka 主题读取数据 然后通过会话池通过网络发送数据 然而 有时 网络调用有点慢 我们需要经常暂停流 以确保网络不会过载 目前 我们将数据捕获到流中并将其加载到执行器服务 然后通过
  • 结构初始化和默认参数的不直观行为

    public struct Test public double Val public Test double val double NaN Val val public bool IsValid get return double IsN
  • 与 Webpack 捆绑时下划线出错

    我正在尝试重写使用 require js 的旧应用程序以使用 es6 导入 使用的库之一是 Backbone 和 Underscore 为了创建一个大包并将 es6 预编译为 es5 我使用 Webpack 和 babel loader 捆
  • 如何为主键列创建自定义自动生成的 ID 号?

    我创建了此表并插入了以下值 CREATE TABLE Product ID INTEGER IDENTITY 1 1 NOT NULL PRIMARY KEY CLUSTERED Product No AS RIGHT PDT0000 CA
  • EST 与 America/New_York 时区之间的差异

    有人可以告诉我 以下两个陈述有什么区别 TimeZone getTimeZone America New York and TimeZone getTimeZone EST 换句话说 为什么 EST 与 America New York 不
  • 使用 graph api 获取用户所属的所有租户

    我有一个应用程序 它使用 AUTH v2 身份验证提供程序和公共租户 login microsoftonline com common v2 0 进行身份验证 现在 由于我的用户可以属于任何 AAD 租户 并且我希望我的用户能够选择他们正在
  • 在 UNIX 中比较两个文件

    我想比较两个文件 未排序 文件 1 和文件 2 我想执行 file2 file1 差异 而不管行号如何 差异不工作 我通过使用 comm 得到了解决方案 comm 23 file1 file2 会给你想要的输出 无论如何 首先需要对文件进行
  • Javascript将对象推送到全局数组会覆盖以前的值吗?

    我在 Javascript 中遇到这个问题 我想从对象数组中获取经度和纬度值 这一切都工作正常 但是当我尝试将其保存到全局数组中时 它会覆盖以前的每个值 结果是一个数组 其中包含最后推送的对象的 8 倍 全局数组 var coordinat
  • IIS Express (WebMatrix) 对外部连接开放

    我已经在端口 80 和 2012 上启用了 IIS Express HTTP 流量输入 和 IIS Express HTTPS 流量输入 的防火墙规则 此端口用于 WebMatrix 但我无法从 LAN 连接到服务器 WebMatrix 在
  • 如何在 weblogic 10.3 上的 MDB 中设置最大池大小

    我需要在 weblogic 10 3 上的 MDB 上设置最大池大小 我直接在MDB上插入这个注解 ActivationConfigProperty propertyName MaxPoolSize propertyValue 1 但它似乎
  • 使用 cronjob 运行 php 文件中的函数

    我的 php 文件 file1 php 中有一个函数 我正在尝试使用 cronjob 来调用此函数 我的 cron 作业命令是 php home name public html file1 php mail1 作为参考 函数代码如下 当直
  • 是否可以根据标准输入 git-diff 文件?

    假设我正在编辑一个文件 如果我保存文件 git diff会给我它相对于索引的变化 我想在不先保存文件的情况下获取相对于索引的更改 以获得 实时 差异 一种解决方案是将未保存的更改写入临时文件 即将文件保存在其他地方 将暂存文件写入另一个临时