gpt4 book ai didi

git - 查看文件的第 N 个先前版本

转载 作者:太空狗 更新时间:2023-10-29 14:06:18 26 4
gpt4 key购买 nike

我想查看旧版本的文件,但是:

git show HEAD~1:main.c

给我之前的提交。该文件自上次提交以来没有更改,因此我看到了相同的内容。为了找到该文件的旧版本,我需要开始手动增加修订规范,直到找到实际差异。这令人沮丧。

在这种特殊情况下,我不关心提交:我只想查看此特定文件的以前版本。我怎样才能给出“第 N 个最旧版本”类型的修订规范?改版规范I know始终与提交相关,与文件版本无关。

我得到的最接近的是:

git log --follow --pretty=oneline -- annotated-bower.json

这为我提供了该文件已更改的提交列表。既然我看到了这个列表,我该如何告诉 git show 像这样:

git show OLDER~3:main.c

无需手动复制粘贴提交规范:

git show b27a57c6732200d8ef8b5b8c87d07fe67f37e9db:main.c

我当然可以自己实现:

git-previous.sh main.c 3

解析 git log --follow --pretty=oneline 的输出以获取提交哈希并调用 git show,但我想避免重新发明轮子。此外,这似乎是一个非常有用的功能,它肯定git 的一部分,我刚刚监督了它,对吧?

最佳答案

好吧,如果你正确地输入 git log,你就不需要解析任何东西:

git log -10 --follow --pretty=%h -- /path/to/your/file

打印出文件的最后 10 (-10) 个短提交哈希值 (%h)。

获取 git log 的输出,将其放入列表中并循环遍历条目。完成。

也许这就是为什么没有单独的命令来实现这一点的原因......关于你的注释

Besides, this seems like a so useful feature [...]

我使用 git 已经有一段时间了,而且从来没有真正需要按顺序查看文件的历史记录。变化很有趣。因此,您还可以向 gitk 提供路径,这将导致显示更改列表以及它们在 gitk 中的差异:

gitk -- /path/to/your/file

关于git - 查看文件的第 N 个先前版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29147733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com