我在GitHub公共存储库lyrgard/ffbeEquip上遇到了问题,对此我是一个很大的贡献。
最近,主要的维护者和开发人员Lyrgard意识到在某些提交信息中使用了他的工作电子邮件地址。
因此,他遵循this helpful Github script将所有工作电子邮件替换为他的个人电子邮件。这样,git历史记录就被完全重写了。我们知道当然这不是我们应该轻易做的。但是他不能冒险将自己的工作地址与自己的爱好项目相关联。
但是,问题在于现在我们有多个过去的提交。甚至我的提交也被显示两次!
Github script对此没有任何说明。我们试图在网上搜索答案,但找不到任何有用的信息。我们相信git到此为止,我们还不是专家。
我们实际尝试的操作:
我们真的很想了解发生了什么,当前情况如何以及如何解决它。
非常感谢您的帮助。
[首先编辑以添加详细信息]
以下是主服务器上的git log
输出:
commit b2d98cb6674b0a9d2c457cdcf5bf7dc1271d87c5 (HEAD -> master, origin/master)
Author: Lyrgard <lyrgard@gmail.com>
Date: Thu Aug 30 06:55:43 2018 +0200
added Golden Apple to recently released items
commit 850244a19880ddcbc0637a17ab01241d6ef0133a
Merge: 362d9a14 ef8c6e12
Author: Lyrgard <lyrgard@gmail.com>
Date: Thu Aug 30 06:53:18 2018 +0200
Merge branch 'master' of https://github.com/lyrgard/ffbeEquip
commit 362d9a1409470bd498e5787daa7817400aedd5f1
Merge: 99618a7e 1bca87ad
Author: Lyrgard <lyrgard@gmail.com>
Date: Wed Aug 29 23:04:46 2018 +0200
Merge branch 'Indigo744-encyclopedia_killers'
commit ef8c6e125e6d76d04a0fe28e74fce5439bc4f9f2
Merge: 09722cee 8c1b8394
Author: Lyrgard <lyrgard@gmail.com>
Date: Wed Aug 29 23:04:46 2018 +0200
Merge branch 'Indigo744-encyclopedia_killers'
commit 1bca87ad243079e0df0599a8e8e414b75b580f68
Merge: 99618a7e 4ce21f1e
Author: Lyrgard <lyrgard@gmail.com>
Date: Wed Aug 29 23:02:28 2018 +0200
Merge branch 'encyclopedia_killers' of https://github.com/Indigo744/ffbeEquip into Indigo744-encyclopedia_killers
commit 8c1b83944ade8dbc1eaf1576df00c8e4c46a051b
Merge: 09722cee 5fc10187
Author: Lyrgard <lyrgard@gmail.com>
Date: Wed Aug 29 23:02:28 2018 +0200
Merge branch 'encyclopedia_killers' of https://github.com/Indigo744/ffbeEquip into Indigo744-encyclopedia_killers
如您所见,有两个Merge branch 'Indigo744-encyclopedia_killers'
和两个Merge branch 'encyclopedia_killers' of...
当然,提交sha不等于(否则,我认为会有很大的问题),但我不明白为什么会有多个提交?
[第二次编辑以添加有关发生的更多详细信息]
在评论中与@matthiasbe讨论之后,仔细查看git分支(并与Lyrgard讨论),然后实际发生了什么:
filter-branch
重写历史记录现在GH有两个历史记录(旧的和新的),因为在第二个(通常的)存储库中,他应该重新设置基准或删除并克隆一个新的记录。
现在我们知道发生了什么,我们需要能够从历史记录中还原此合并
我正在查看rebase -i
命令,但是找不到任何合并提交。我们将不胜感激。
答案 0 :(得分:0)
好的,一切恢复正常。
实际上使我们省下来的是Lyrgard仍然拥有他曾经用于filter-branch
的临时存储库。这是一个“干净的”回购协议,仅包含新的历史记录,但是其日期为昨天(即缺少今天的提交)。
我们做了什么:
最后……感谢matthiasbe的帮助。