【问题标题】:Some doubts about the -u param of the diff command in GITGIT中diff命令的-u参数的一些疑惑
【发布时间】:2016-11-26 02:25:23
【问题描述】:

我是 GIT 的新手,我有以下疑问。

我正在用这个命令比较 2 个包含不同文本的 txt 文件:

$ diff -u file.txt updated.txt
--- file.txt    2016-07-22 10:38:35.898833500 +0200
+++ updated.txt 2016-07-22 10:39:36.322025800 +0200
@@ -1 +1 @@
-blablabla
\ No newline at end of file
+blablabla ciao

我认为这仅意味着第一个文件包含 blablabla 并且第二个文件还包含 blablabla 之后的 ciao 单词。是对输出的正确解释吗?

diff 命令的 -u 参数究竟是什么意思?

然后我在没有 -u 参数的情况下执行了 diff

$ diff file.txt updated.txt
1c1,9
< blablabla
\ No newline at end of file
---
> blablabla ciao
>
>
>
>
>
>
>
>

这个输出对我来说似乎更清楚,因为 意味着 file.txt 的行包含较少的信息 updated.txt> 表示 updated.txt 包含比 file.txt 更多的信息。

对吗?

-u参数具体是什么,什么时候使用比较方便?

【问题讨论】:

  • 请注意 - 您可能被否决了,因为您的问题被错误地标记为 git 问题,而实际上并非如此。
  • 另外,你没有表明你已经阅读了git diff --help,否则问题会是“我为什么要使用统一的差异格式?”。

标签: git bash diff git-bash


【解决方案1】:

-u 表示使用 unified diff 格式,一种更紧凑的 context diff。它包括三行上下文,以使差异更可能在存在其他更改时应用,即如果您的源文件不是原始文件,但例如在要修补的块之前插入了行。

对于短文件和文件开头和结尾的编辑,显然不能有上下文。

【讨论】:

    猜你喜欢
    • 2021-09-22
    • 2019-10-03
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多