【问题标题】:Why does "git difftool" not open the tool directly?为什么“git difftool”不直接打开工具?
【发布时间】:2011-10-26 00:40:42
【问题描述】:

我这样配置git

git config --global diff.tool meld

当我跑步时:

git difftool

我收到以下消息:

Viewing: 'hello.txt'
Hit return to launch 'meld': 

然后,如果我按 Entermeld 将启动。

如何禁用此消息,以便在输入git difftool 后立即启动meld

【问题讨论】:

  • 我认为同样有效的问题是:为什么默认情况下需要额外的批准?
  • Сonfirmation 在 difftool 为每个文件(如 vscode)运行一个新窗口时很有用,然后您可以决定每个文件是否打开。

标签: git diff difftool


【解决方案1】:

还有一个选项:

difftool.prompt
  Prompt before each invocation of the diff tool.

以下命令将全局关闭提示(对于所有 repos):

git config --global difftool.prompt false

这就像写在~/.gitconfig:
(或%HOMEDRIVE%%HOMEPATH%\.gitconfig

[difftool]
  prompt = false

【讨论】:

  • 这是正确的解决方案。答案标记了一个解决方案,不保存任何按键。非常感谢。
  • @sebweisgerber 我只是解释了标记的答案并发现了如何使其永久化。否则我可能不会找到该选项。
  • 这是一个更好的答案,因为它会将 case 作为默认操作处理,这将允许问题编写者继续使用 git-difftool。
  • 实际上--add 选项放错了位置。这意味着将设置“prompt=false”添加到已经存在的任何“promt”条目中,而目标是替换当前值或首先添加它。这种行为是在没有--add 的情况下实现的。
  • 确保您不会意外地将propmt = false 放在 [difftool "toolname"]` 部分下。它不起作用。它应该在[difftool] 部分下。
【解决方案2】:
man git-difftool

OPTIONS
   -y, --no-prompt
       Do not prompt before launching a diff tool.

【讨论】:

  • @ZJR 的答案似乎是大多数人(包括我)的首选答案。
  • 参考 ZJR 的回答(如果用户名更改):stackoverflow.com/questions/7897517/…
  • 下面有更好的答案。
  • @m1m1k 上面的评论更好:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-29
相关资源
最近更新 更多