1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

gitオブジェクトのSHA-1コード計算

Last updated at Posted at 2013-11-03

gitオブジェクトのSHA-1コードの計算はなかなか合わなかったので調べてみてやっと解明できました。
#blobオブジェクト

  1. blob idをblob-id.txtに保存
  2. blobオブジェクトの内容を確認
$cat blob-id.txt | git cat-file --batch 
ce013625030ba8dba906f756967f9e9ca394464a blob 6
hello

3.blobオブジェクトの内容をblob-batch.txtに保存

cat blob-id.txt | git cat-file --batch > blob-batch.txt

4.blob-batch.txtをバイナリーエディタで修正して、blob-obj.txtに保存

  • 先頭のSha-1コードを削除する

  • コンテンツサイズの後の「0A」を「00」に変更

  • 最後の「0A」を削除

5.SHA-1コードを確認


$cat blob-obj.txt | openssl sha1
ce013625030ba8dba906f756967f9e9ca394464a

gitで生成したオブジェクトのSHA-1コードと一致しました。
他のオブジェクトタイプも似たような方法で生成しています。

#参考資料
Git objects v2

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?