既存のGitリポジトリのコミットをベースに新規にGitリポジトリを作成する
たまたまこういうことをする必要があったのでメモです。
(例) すでに運用中の bar リポジトリの既存のコミットを initial commit として、新規に foo リポジトリを作成するケース
$ cd /path/to/bar $ git remote add foo {foo's URL} # Add foo's remote repository $ git checkout -B foo $(git rev-list HEAD --max-parents=0) # Create foo branch from the initial commit of bar $ git merge origin --squash # Checkout all file changes $ git commit --amend -C HEAD $ git push foo HEAD:master
まとめ
git rev-list
知らなかった...