在第一次和最后一次提交之间在同一文件中使用 git diff

发布于 2024-09-12 05:58:17 字数 106 浏览 3 评论 0原文

我有一个文本文件(.yml),我在其中输入一些文本以供系统使用。但现在我们需要立即知道有哪些新线路。我想使用 git 来解决我们的问题,但我找不到明确的命令来执行此操作。

这可能吗?

I have a text file (.yml) that I enter some texts to my system use. But now we need to know what new lines at once. I thought to use git to solve our problem, but I cant find a clarified command to do this.

Is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

暖风昔人 2024-09-19 05:58:17

您可以使用如下所示的方式获取提交列表:

git log --abbrev-commit --pretty=oneline

应该如下所示:

commitD Description
commitC Description
commitB Description
commitA Description

选择您的两个提交并替换它们如下:

git diff..; -- /路径/到/文件

You can get a list of the commits withs something like so:

git log --abbrev-commit --pretty=oneline

Which should something like this:

commitD Description
commitC Description
commitB Description
commitA Description

Choose your two commits and substitute them below:

git diff <commitA>..<commitB> -- /path/to/file

剧终人散尽 2024-09-19 05:58:17

您可以使用一个命令行来完成此操作:

git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>

使用计数为 1 (-1 / --max-count 1) 的 --reverse 不起作用...因为它会在截断结果列表后反转结果列表。因此,要么将 --reverse 与 head 命令一起使用,要么使用 tail -1。

由于行尾和制表符与空格的使用切换,我必须添加 -w 供我使用。

如果文件没有在第一次提交中添加,这可能无法按预期工作!您可以将上面的行更改为:

git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>

You can do it with one commandline:

git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>

It does not work to use --reverse with a count of 1 (-1 / --max-count 1) ... as it reverses the resulting list after truncating it. So either you use --reverse together with the head command or you use tail -1.

I had to add the -w for my usage because of switches in line-endings and tab vs. spaces usage.

This may not work as expected if the file was not added in the first commit! You may change the above line to:

git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文