即使每个更改的文件都与父文件之一一致,如何“git show”具有组合差异输出的合并提交?

2023-12-02

进行“简单”合并(没有冲突)后,git show通常只显示类似的内容

commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date:   Tue Feb 22 00:27:17 2011 +0100

Merge branch 'testing' into master

这是因为,对于合并,git show使用组合 diff 格式,该格式忽略与任一父版本一致的文件。

有没有办法强制 git 仍然显示组合差异模式中的所有差异?

Doing git show -m将显示差异(分别使用新版本和所有父版本之间的成对差异),但我更愿意在相应的列中用 +/- 标记差异,就像在组合模式中一样。


查看提交消息:

commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date:   Tue Feb 22 00:27:17 2011 +0100

Merge branch 'testing' into master

注意这一行:

Merge: fc17405 ee2de56

获取这两个提交 ID 并反转它们。所以为了获得你想要的差异,你会这样做:

git diff ee2de56...fc17405

仅显示已更改文件的名称:

git diff --name-only ee2de56..fc17405

要提取它们,您可以将其添加到您的 gitconfig 中:

exportfiles = !sh -c 'git diff $0 --name-only | "while read files; do mkdir -p \"$1/$(dirname $files)\"; cp -vf $files $1/$(dirname $files); done"'

然后通过执行以下操作来使用它:

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

即使每个更改的文件都与父文件之一一致,如何“git show”具有组合差异输出的合并提交? 的相关文章

  • 当我所做的只是压缩提交时,为什么 git-rebase 会给我带来合并冲突?

    我们有一个包含 400 多个提交的 Git 存储库 其中前几十个提交需要大量的反复试验 我们希望通过将许多提交压缩为单个提交来清理这些提交 当然 git rebase 似乎是最佳选择 我的问题是它最终会产生合并冲突 而且这些冲突并不容易解决
  • git 中的 web.config 和 app.config 机器特定设置

    我们在不同的办公室有多个开发团队 他们需要为我们项目中的许多配置设置使用不同的值web config and app config files 我们希望使用一组合理的默认值来检查这些配置文件 这样通过检查 trunk master 分支 您
  • Git 更新文件时更改默认 umask

    我的 Git 有问题 我在 Google 和 StackOverflow 中搜索了解决方案 但没有任何帮助 问题是 每次 git 更新工作目录中的某些文件时 当我签出分支或合并分支等时 文件权限都会更改 以便添加 可写到组 标志 如果该文件
  • 致命错误:找不到“Fabric/Fabric.h”文件

    我正在使用 xcode 6 3 1 OSX 10 10 3 并且我已经在本地系统上成功配置了 crashlytics 它工作正常 并通过 Fabric 应用程序发布构建 但是当我将相同的代码库转移到 teamcity 时 它向我显示以下错误
  • 是否可以在 Git 项目的所有分支中执行“grep 搜索”?

    是否可以运行git grep在 Git 控件源项目的所有分支中 或者还有其他命令要运行吗 问题 如何在 Git 历史记录中 grep 搜索 提交的代码 https stackoverflow com q 2928584 6309 建议 gi
  • 空提交的 Git 补丁

    我创建一个空提交 git commit allow empty m something important 有时它很有用 例如协调 2 个 或更多 不同的 git 树 然而 当我 git format patch 空提交被省略 因为它们不与
  • go语言读取并合并两个Yaml文件

    假设我们有两个 yaml 文件 master yaml someProperty someVaue anotherProperty anotherValue 覆盖 yaml someProperty overriddenVaue 是否可以解
  • 如何在git中定义ESC字符?

    我想在 git 输出中使用着色 例如 git log decorate color 当我发出这个命令时 我得到的输出看起来像ESC 1 32m where ESC是反色的 在我看来 这是一个有效的转义序列 除了 033必须发送而不是字符E
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • 如何在cygwin下更改git中文件的大小写?

    我们在区分大小写 不敏感的混合环境 cywgin linux 中工作 今天有人通过重命名文件 将 S 更改为 s 对我们的工作流程造成了小破坏 这导致了各种有趣的跨分支合并问题 而且说实话 没有人完全确定发生了什么 在 cygwin 的 g
  • 使用 git 同时维护不同版本的代码

    我有一个需要优化的代码 我想同时维护一组版本的代码 每个版本可以描述为一些功能 优化的组合 最终 我将决定哪个版本是最好的 我不想将这些版本合并为更少的版本 但是 我希望能够对 大 源文件进行 小 修改 这可能会跨版本转移 并且我希望这一修
  • Heroku——从多台计算机部署?

    我有两台计算机 我希望它们都能够从 github 上的同一个存储库拉取 推送 并部署到 heroku 上的同一个应用程序 我知道 Heroku 允许您在另一台计算机上克隆其 git 存储库 以便它也可以链接起来 但我不希望第二台计算机克隆
  • git fetch 失败“refs/remotes/origin/pr/34 同时跟踪两者”

    我是 git 新手 我被困在 git fetch 上 我在 TFS 和 SVN 上有更多经验 所以欢迎任何类比 所以我在 Github 上找到了一个我分叉的项目 源项目 Xpose 有色状态栏 https github com Mohamm
  • 在 ConEMU 中显示 git 分支

    有没有办法在 ConEmu 中以视觉方式 背景或类似 在 git 中显示分支 Git 分支可以在普通的 cmd 或 Far Manager 提示符中可见 所有魔法都是通过特殊的 ANSI 序列完成的 必须选中 Inject ConEmuHk
  • 如何安装gitlab-rails?

    我正在尝试为 Gitlab 项目创建一个组访问令牌 它需要访问 gitlab rails 控制台才能执行此操作 在 gitlab 教程上 这是安装它的链接 https docs gitlab com ee administration op
  • git 压缩并保留上次提交的时间戳

    考虑我有提交 A B C 如果我使用git rebase i将所有三个提交压缩为一个 我们可以 pick A squash B squash C 我看到结果提交A有其原始时间戳 如何让它继承提交的时间戳C 最后一个 我能想到的是git co
  • gitk中正则表达式的格式是什么?

    我正在尝试使用 gitk 中的 find 添加 删除字符串 正则表达式选项 我尝试过的语法不起作用 并且我找不到描述它接受的正则表达式语法的文档 我正在尝试匹配两者Modem Wakup and Modem UnWakeup 两者都不Mod
  • git 策略将一组提交限制在特定分支

    我需要经常在 dev 和 master 之间进行合并 我还有一个提交 我只需要应用于开发人员 以便在本地工作 早些时候 我只从 dev 合并到 master 所以我有一个分支 production changes 其中包含 dev 特殊提交
  • 如何撤消 git pull?

    由于远程源上不需要的提交 我想撤消 git pull 但我不知道必须重置回哪个版本 我怎样才能回到在远程源上执行 git pull 之前的状态 或者使其比其他答案更明确 git pull whoops git reset keep HEAD
  • 合并结果的行数多于一个数据框

    我有两个数据框 第一个包含 9994 行 第二个包含 60431 行 我想合并两个数据框 以便合并后的数据框包含两个数据框的组合列 但只包含 9994 行 但是 合并后我得到了超过 9994 行 我怎样才能确保这种情况不会发生 df1 re

随机推荐