空の初期コミット (つまり、ファイルのないコミット)を作成する場合は、次のようにします。
auto_init
Jai Pandya の回答のように、オプションを使用してリポジトリを作成します。または、リポジトリが既に存在する場合は、create file エンドポイントを使用してダミー ファイルを作成します。これにより、ブランチが作成されます。
PUT https://api.github.com/repos/USER/REPO/contents/dummy
{
"ブランチ": "マスター",
"message": "ブランチを作成するためのダミー ファイルを作成します",
"コンテンツ": "ZHVtbXk="
}
これにより、コミット SHA を含む一連のデータが得られますが、そのコミットを消去しようとしているため、すべてを破棄できます。
- create commit エンドポイントを使用して、空のツリーを指すコミットを作成します。
投稿 https://api.github.com/repos/USER/REPO/git/commits
{
"メッセージ": "最初のコミット",
「ツリー」: 「4b825dc642cb6eb9a060e54bf8d69288fbee4904」
}
今回は、返されたコミット SHA に注意する必要があります。
- 更新参照エンドポイントを使用して、作成したばかりのコミットへの分岐点を作成します (Use Of The Force TMに注意してください)。
パッチ https://api.github.com/repos/USER/REPO/git/refs/heads/master
{
"sha": "<コミットのSHA>",
「力」:真
}
- 終わり!リポジトリには、ブランチが 1 つ、コミットが 1 つ、ファイルが 0 になりました。