ブランチを切り替える前にmainでコミットしてしまいました。
解決したいこと
課題を提出する前にgitのブランチを切り替えないでmasterのままコミットしていまいました。どのように対処すればいいでしょうか?元に戻すようなことはできるのでしょうか?できないとしたら新しくファイルを作成するしかないでしょうか?
状況としては、5つのファイルを下記の順でローカルリポジトリでコミットまで行いました。
git init
git add .
git commit
リモートにpushはしていません。
課題を提出する前にgitのブランチを切り替えないでmasterのままコミットしていまいました。どのように対処すればいいでしょうか?元に戻すようなことはできるのでしょうか?できないとしたら新しくファイルを作成するしかないでしょうか?
状況としては、5つのファイルを下記の順でローカルリポジトリでコミットまで行いました。
git init
git add .
git commit
リモートにpushはしていません。
以下でおそらく解決するかと!
新しいブランチを作成(ここでは new-branch と命名しました)
↓
現在のコミットをチェックアウト
git checkout -b new-branch
次に、masterブランチに戻る
git checkout master
最後に、masterブランチから誤ったコミットを削除
git reset --hard HEAD~1
このコマンドは、HEADを1つ前のコミットに戻します。これにより、誤ったコミットがmasterから削除されます。
@hfuob
Questioner
ありがとうございます。参考にさせていただきます。
この問題について心配しないでください。masterブランチに切り替えずに誤ってコミットしてしまった状況に対処するためには、1つの方法は、誤ったコミットが行われる前の現在の master ブランチの状態から新しいブランチを作成することです。
以下に従う手順をご説明いたします。
master ブランチにいることを確認してください(現在のブランチはアスタリスクで表示されます)git branch
master の現在の状態を基に新しいブランチを作成してください:git branch new-branch
git checkout new-branch
4.git log --graph を実行して、グラフ表示でコミットの履歴を確認してください。これにより、コミットのハッシュとその関連が表示されます。
リセットしたいコミットのハッシュ値を特定します。(通常、長い英数字の文字列として表示されます。)
コミットのハッシュ値をコピーします。git reset <commit-hash> を実行します。ここで <commit-hash> はリセットしたいコミットのハッシュ値です。
これらの手順に従うことで、誤って行われたコミットを含まない、所望の状態を持つ新しいブランチ(new-branch)が作成されます。
@hfuob
Questioner
丁寧に教えていただきありがとうございます。