古いgitコミットにGPG署名するのは良い考えですか?


9

GPGキーを使用するようにgitに指示するのを忘れたことに気づきました。署名せずに、いくつかのコミットを行いました。戻って署名する必要がありますか?

タグに署名する必要があるかどうかについては言及していませんが、コミット自体に署名することにしました。私が書いたものであるかどうかわからない、破損したgit履歴があること以外に、私が考えてはならない理由はないと思います。私はGitHubが私のgit履歴をいじらないことを信頼しています。私は自分のプロジェクトの約99%の唯一の作者なので、そうする必要がありますか?

私はこの答えを見つけたので、それが可能であることがわかりましたが、哲学的に言えば、私はそうすべきですか?

回答:


12

コミットが既に公開されている場合は、コミットIDが変更されるため、(偶発的なデータリークの削除を除いて)いかなる目的でもそれらを書き換えないでください。(各コミットのIDは、その内容その親コミットのSHA-1ハッシュに基づいていることに注意してください。)

それはそれ以降のすべてのコミットを書き換える(そして再署名する)必要があり、それらのコミットのいずれかを既にフェッチした人に問題を引き起こすことを意味します。

しかし、同じ理由で、少なくともデータの整合性のためではなく、これらの古いコミットに明示的署名する必要はありません。各コミットにはその親のSHA-1ベースのIDが含まれているため、単一のコミットを検証すると、ハッシュチェーンを介して履歴全体が暗黙的に検証されます。チェーンが少し長くても短くてもかまいません。

一方、セキュリティのためにSHA-1を信頼しない場合は、コミットのファイルの内容 SHA-1ハッシュによって参照されるため、コミット署名はまったく役に立たないことを検討する必要があります。直接署名するのは(そのハッシュではなく)コミットメッセージだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.