如何在 git 中注释已删除的文件?

How can I annotate a deleted file in git?

我想 annotate/blame 使用以下命令对 git 存储库中的文件进行修订:

git annotate [options] file [revision]

但是,该文件不再存在于当前存储库中,但我知道该文件存在于修订版 f80133a 中。

git annotate java/org/apache/catalina/valves/CometConnectionManagerValve.java f80133a
fatal: cannot stat path 'java/org/apache/catalina/valves/CometConnectionManagerValve.java': No such file or directory

在这种情况下,有没有简单的方法可以在不检查修订版 f80133a 的情况下对已删除的文件进行注释?

对于实例,您可以签出该提交以查看类似的问题

git checkout f80133a

在此之后,您将以分离的头部状态到达该提交 然后责怪

git annotate [options] file 

完成后

git checkout your_prev_branch_name
git stash                # if you have pending changes
git checkout f80133a
git annotate java/org/apache/catalina/valves/CometConnectionManagerValve.java > annotation.txt
git checkout master      # or develop, or wherever you were
git stash pop            # if stashed

在 OP 编辑​​后编辑:没有检查,我不这么认为,但我可能是错的。

EDIT2:我错了。你也可以欺骗 git:

touch java/org/apache/catalina/valves/CometConnectionManagerValve.java
git annotate java/org/apache/catalina/valves/CometConnectionManagerValve.java f80133a
rm java/org/apache/catalina/valves/CometConnectionManagerValve.java