gpt4 book ai didi

git - 你能*真的*改变 Git 中的作者吗

转载 作者:行者123 更新时间:2023-12-02 02:11:28 25 4
gpt4 key购买 nike

听起来像是一个标准的“我可以更改 Git 提交的作者”问题,但事实并非如此......

...我的问题是您已通过 git commit --amend --author="Dr Evil <<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c3a7b1eda6b5aaaf83b4acb1afa7a7acaeaaada2b7aaacadedacb1a4" rel="noreferrer noopener nofollow">[email protected]</a>>" 更改了作者它真的丢失了吗?如果 reflog 可以恢复吗?例如?

其他场景呢?我知道作者可以在压缩/ rebase 类型事件后自然地进行更改,但我假设在这些情况下,您在树中的某个地方仍然有历史记录?如何检索?

任何关于恢复此类事情的总结,甚至将其提取到报告中,都会非常有帮助。我关心的是审核并证明作者不能被恶意伪造。我很感激签名可以在这里提供帮助,但模糊地记得,如果作者发生更改,新作者将自己签署提交 - 因此它不能确保除了(可能不是好新)作者是她所说的人之外的任何内容.

最佳答案

现有提交的作者可以更改(或者“伪造”,如果您愿意的话)。但从技术上讲,这只是因为它被新的提交替换,新的提交与旧的提交相同,只是作者不同,因此提交的哈希值不同。

原作者的提交(和原始哈希)仍在引用日志中。默认情况下,引用日志仅保留提交 2 周。

防止肆意重写历史的最直接方法就是防止普通用户使用push -f。这是通过预提交 Hook 完成的。一旦推送了特定的历史记录,除了使用 push -f 之外,就无法“重写”它。

关于git - 你能*真的*改变 Git 中的作者吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67695356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com