如何获得强制推送的git用户名

时间:2016-04-22 13:10:26

标签: git bitbucket-server

最近我的一个队友已经用git强制推送(stash上的远程仓库),我们丢失了大部分旧的提交历史,我很惊讶地知道我们无法确定是谁做的。

我用Google搜索了,但无法得到任何满意的答案。这里有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

由于某些原因你无法确定:

  1. 如果您不使用ssh密钥,则可以随时“伪造”姓名和电子邮件。

    git commit -c user.name <faked name> -c user.email <fake email> ...
    
  2. 如果用户有结帐和旧提交以及强制推送,则提交的将是最后一次推送的人(再次假设使用http / https)

  3. 使用`git reflog``

    检查开发人员的本地存储库是做什么的

    -

    您可以尝试按照此处所述读取存储日志 https://confluence.atlassian.com/stashkb/how-to-read-the-stash-log-formats-317951177.html

    再次 - 如果您使用ssh密钥,这将有所帮助。否则它没用。

    git reflog

    git reflog将显示更新HEAD的任何更改,在您的情况下指出谁更改并提交了错误的提交。

    enter image description here

    <强> How to prevent it for next time?

    为stash安装此插件

      

    保护特定分支免受强行推送

    https://marketplace.atlassian.com/plugins/com.carolynvs.force-field/server/overview

相关问题