可以'git diff'2个字符串吗?

dan*_*y74 3 git diff git-diff

我有2个字符串,我想要它们之间的git diff。我可以创建file1并添加string1作为其内容。

然后,我可以创建file2并添加string2作为其内容。然后我可以git diff file1和file2。

但是,鉴于我将字符串作为字符串(而不是文件内容),可以避免这些繁琐的步骤吗?有没有更简单的方法?

就像是:

git diff "my first string" "my second string" # obviously does not work
Run Code Online (Sandbox Code Playgroud)

Elp*_*Kay 6

如果您坚持使用git方式,

git diff $(echo "my first string" | git hash-object -w --stdin) $(echo "my second string" | git hash-object -w --stdin)  --word-diff
Run Code Online (Sandbox Code Playgroud)

  • @danday74 在 `echo` 之后加上 `-e`。 (2认同)
  • 似乎不再工作:git 版本 2.30.2 (2认同)
  • 字符串比较的目的不是不运行到 git repo 文件夹吗?错误 START: fatal: 不是 git 存储库(或任何父目录): .git fatal: 不是 git 存储库(或任何父目录): 。 git 警告:不是 git 存储库。使用 --no-index 比较工作树之外的两个路径用法: git diff --no-index [<options>] <path> <path>;error END; 我使用这个命令已经有一段时间了,直到 git 推送更新,它运行得很好。 (2认同)

Sam*_*ert 5

您不必为此使用 git diff,Git 用于跟踪代码库中的更改。

有一个很好的 linux 命令可以做到这一点

diff  <(echo "my first string" ) <(echo "my second string")
Run Code Online (Sandbox Code Playgroud)

这是一个很好的答案 /sf/answers/31818461/

  • git diff 比普通 diff 功能强大得多。 (6认同)