gpt4 book ai didi

linux - 我怎样才能恢复 git 提交但保留最原始的 git 提交历史(在 git blame 中)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:40:12 24 4
gpt4 key购买 nike

我将还原有问题的提交,但在还原之后,如果我对文件运行 git blame,我会看到我的还原是触及这些行的最新提交。这是有道理的,但不是很有用,因为我想查看原始文件的 git 历史记录。 (即就像有问题的提交和还原从未发生过一样)。

有办法吗?

谢谢!

最佳答案

还原与具有反向差异的新提交没有区别。所以,不,你不能让 git-blame 忽略原始提交或还原(除非你愿意改变历史,在这种情况下你实际上根本没有还原任何东西)。

但是,因为它就像任何其他提交一样,如果您发现最后触及某些行的提交没有用,您可以像对待任何其他提交一样执行操作,并询问 git-blame 注释文件的先前版本。

例如,假设你跑了

$ git blame HEAD -- foo.c

看到了:

7507efdad27 foo.c (amalloy) ...

在您感兴趣的行上。您认为此提交没有用,因为它是一个还原。您可以使用 git show 7507efdad27 检查该提交还原了哪个提交。

假设产生 673bdae7548:然后您可以在该提交之前请求文件的 blame View :

$ git blame 673bdae7548^ -- foo.c

这将向您显示在还原提交之前的责任,因此您感兴趣的行将使用在还原提交之前最后一次触及它们的提交进行注释。

关于linux - 我怎样才能恢复 git 提交但保留最原始的 git 提交历史(在 git blame 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43669426/

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