半分の答え: コミット日 (およびコミッター、および作成者と作成者の日付) をgit commit次のように設定するのは簡単です。
--author='A U Thor <thor@host.whatever>'、--date=<date>
- 環境変数を設定します。
GIT_AUTHOR_NAME:これは上のA U Thor部分です
GIT_AUTHOR_EMAIL:これは上のthor@host.whatever部分です
GIT_AUTHOR_DATE:これは上の<date>部分です
GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, GIT_COMMITTER_DATE: これらは、3 つの AUTHOR 設定の「コミッター」バリアントです。
git commitこれらは、 、git config、およびのマニュアルページに文書化されています (少しぎこちなく思います) git commit-tree。git commit日付形式については、 を参照してください。
手動で解凍する場合は、リポジトリ ディレクトリを移動する必要はありません。すべての git コマンドが環境変数を尊重するため、指定したり、その他の場所を指定したりGIT_DIRできます。/some/where/bare/repo.git
自動化されたインポーターに関しては、この質問Is there the反対のコマンド to git archive for importing zip filesは、実際には答えられておらず、2年以上前のものなので、そうではないかもしれませんが、わかりません.
zip ファイルを読み取って にダンプする Python プログラムを作成するのはかなり簡単だと思いますgit fast-import。これは、ここでの明らかな解決策です。Python には、組み込みの zip ファイル リーダーが既にあります。