目次
背景
こんにちは。 かりんとうマニア(@karintozuki)です。
Gitで最初のコミットを消す方法を紹介します。
TL;DR
とにかく早く解決したい方は以下のコマンドをどうぞ。
masterブランチの名前を変えて、新たにmasterブランチを作るってだけです。
1 | git branch -m master old |
背景
なんで最初のコミットを消すなんていうことになったのかを
説明します。
GitHubアカウントを間違えた
Gitでリポジトリを作って最初のコミットをプッシュした後で、
想定していたアカウントと別のGitHubアカウントでコミットしてしまっていたことに
気づきました。
resetやAmendコミットが効かない。。。
初めに試したのはAmendコミットでしたが、
なぜか別のアカウントからコミットをAmendしようとしても
アカウントは変わらないようです。
また、git resetも試そうと思ったのですが、
特定のコミットにリセットするためのコマンドなので、
最初のコミットの前の状態には戻せないみたいでした。
とはいえ、gitフォルダを消して最初からやり直すのも
億劫だと思い、最初のコミットのみ消す方法を調べました。
対応方法
実は最初のコミットをコマンド一発で消す方法はありません。
なので、コミットがないまっさらなブランチを作るようにします。
それが以下のコマンドです。
1 | git branch -m master old |
まずmasterブランチをoldと改名します。
1 | git checkout --orphan master |
新しいmasterブランチにcheckoutします。
–orphanオプションをつけることで親コミットのないブランチを作ることができます。
1 | // oldブランチを削除する |
oldブランチ(古いmasterブランチ)を削除します。
これで最初のコミットをする以前の状態に戻ったはずです。
まとめ
Gitを使い始めて数年たちますが、
まだまだ知らないことが多いですね。
それじゃ今日はこの辺で。
関連記事
こちらの記事もおすすめです。