一から勉強させてください

最下級エンジニアが日々の学びをアウトプットしていくだけのブログです

既存の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知らなかった...