获取有关提交的历史记录

时间:2017-12-29 07:13:52

标签: git github

昨天,我们的团队成员在我们的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推送到repo的提交。这些信息是否可以收集,或者我运气不好?

感谢。

1 个答案:

答案 0 :(得分:1)

我的old answer是关于找到进行了强制推送,而不是强迫什么是推力。

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

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

请注意,如果您无权访问远程服务器(通常是:github.com),则仍然获取旧分支SHA1(之前强迫推进"穷人的reflog",又称推送活动(GitHub Events API)。
请参阅" Does github remember commit IDs?":在右侧分支上查找最近的推送事件:最后一个是强制的,前一个将代表旧的SHA1提交。