【问题标题】:git difftool -- how to skip a certain file?git difftool -- 如何跳过某个文件?
【发布时间】:2010-12-08 13:00:01
【问题描述】:

当我执行git difftool 时,我收到消息Hit return to launch 'araxis':。我发现我可以通过按CTRL-C 来终止整个差异,但是跳过单个文件怎么样?

这可能吗?


编辑:从 git 1.7.7.1(和 msysgit 1.7.7.1.msysgit.0)开始,可能的。对于每个文件,我都会被询问

Launch 'araxis' [Y/n]:

似乎在他的answer 中提到的peterjmag's 提交被 git 家伙接受并进入了master 分支!

【问题讨论】:

  • 除非您将所需文件的列表指定为参数,否则这听起来像是您的 difftool (araxis) 的使用问题,而不是 git。
  • 不。 diff 工具由 git 调用,并带有要比较的两个路径。然后它确实有效。 diff 工具如何知道它是否真的应该比较这两个文件,或者——由于某种原因——不是?如果 git 无法跳过,我认为这个问题的全球答案是“不”。这是不可能的。'。
  • 虽然它本身不会“跳过”文件,但请尝试以下操作:stackoverflow.com/questions/1220309(及其对应的博客文章blog.codefarm.co.nz/2009/08/…)。这将在您的差异工具的窗口/选项卡中打开每个文件,然后您可以从那里忽略某些文件。但是,我同意应该有一个选项可以从提示中跳过某个文件,即“按回车键启动 'araxis' 或键入 's' 跳过此文件:”
  • @peterjmag:感谢您指出这一点。请输入您的评论作为答案,以便我接受。

标签: git difftool


【解决方案1】:

正如上面 cmets 中要求的 eckes:

虽然它本身不会“跳过”文件,但这个git-diffall script(由this SO answer 生成)会在您的差异工具的窗口/选项卡中打开每个文件,然后您可以从那里忽略某些文件。但是,我同意应该有一个选项可以从提示中跳过某个文件,即“按回车键启动 'araxis' 或键入 's' 跳过此文件:”

编辑:因为这个功能对我也有帮助,所以我在 github 上 fork git.git 并自己添加。查看this (very simple) commit 以获得概念证明。我也会向 git 邮件列表提交一个补丁,希望有人能提出更好的方法——最好是比我更擅长 shell 脚本的人。 :-)

我也愿意通过 GitHub 的内置笔记系统提供反馈!

另一个编辑:从 v1.7.7.1 左右(2011 年 10 月)开始,这个功能现在似乎在 git 核心中。 Here's the relevant commit on GitHub.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多