一から勉強させてください( ̄ω ̄;)

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

既存のGitリポジトリのコミットをベースに新規にGitリポジトリを作成する

たまたまこういうことをする必要があったのでメモです。

(例) すでに運用中のbarリポジトリの既存のコミットをinitial commitとして、新規にfooリポジトリを作成するケース

$ cd /path/to/bar 
$ git remote add foo # 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知らなかった。。。