获取有关提交的历史记录

问题描述 投票:3回答:1

昨天,我们的团队成员在我们的Bitbucket存储库中做了一个git push --force。我知道它是谁,但我想知道是否有可能收集哪些提交被强制推入存储库。

我正在寻找git log / history的信息是这样的 -

+ 1951097...9b070f0 tower -> origin/tower (forced update)

当我试图进入我的本地分支并在强制推送后遇到合并冲突时,我看到了这条消息,但除了那次之外,我还没有能够在其他任何地方看到它。有没有一个地方我可以看到所有提交(特别是那些(forced update)标签旁边的那些?)运行Git refloggit log似乎没有返回此信息。

我看到这篇文章(这很有趣)是类似的 - How can I find out who force pushed in git?

而不是寻找特定的人(就像前一个问题中的提问者),我只是在寻找在本地克隆它后用--force推入回购的提交。这些信息是否可以收集,或者我运气不好?

谢谢。

git github
1个回答
1
投票

我的old answer是关于找到谁做了强制推动,而不是关于什么是强制推动。

如果您有权访问服务器,您应该使用git reflog找到旧提交的跟踪(在推送之前)。

从那里,您可以推断出替换旧分支历史记录的新提交。

请注意,如果您无法访问远程服务器(通常是:github.com),您仍然可以使用“穷人的reflog”获取旧分支SHA1(强制推送前的分支),即推送事件(GitHub Events API) )。 请参阅“Does github remember commit IDs?”:在右侧分支上查找最近的推送事件:最后一个是强制的,前一个将代表旧的SHA1提交。

© www.soinside.com 2019 - 2024. All rights reserved.