Gitで過去のコミットから新しいブランチを作り作業をやり直す方法

開発作業中、過去のコミットに戻って新しいブランチを作成したい場面は多々あります。この記事では、Gitを使用して過去のコミットから新しいブランチを作成し、そのブランチで作業をやり直す方法をステップバイステップで紹介します。

過去のコミットのハッシュを確認

まずは、git logコマンドを使用してコミットの履歴を表示しましょう。

git log

このコマンドは、プロジェクトのコミット履歴を一覧表示します。コミットのハッシュは、各コミットエントリの最初に表示されます(例:commit 1a2b3c4d…)。

新規ブランチを作成

次に、特定のコミットから新しいブランチを作成します。コマンドは以下の通りです。

git checkout -b <new-branch-name> <commit-hash>

例えば、コミットハッシュが1a2b3c4dで新しいブランチ名をfeature-branchとする場合、以下のようになります:

git checkout -b feature-branch 1a2b3c4d

このコマンドは、指定されたコミットの状態から新しいブランチを作成し、そのブランチに切り替えます。

作業を開始

新しいブランチが作成され、自動的にそのブランチに切り替わります。この新しいブランチ上で自由に作業を開始できます。

変更をコミット

作業が終わったら、変更をステージングエリアに追加します。

git add .

ステージングした変更をコミットします。

git commit -m "Your commit message here"

これにより、新しいブランチに対する変更がコミットされます。

リモートリポジトリにプッシュ

新しいブランチにコミットが完了したら、必要に応じてリモートリポジトリにプッシュすることができます。

git push origin <new-branch-name>

例えば、新しいブランチ名がfeature-branchの場合、以下のようになります。

git push origin feature-branch

まとめ

この記事で紹介した方法を使用すれば、過去の特定のコミットから新しいブランチを作成し、そのブランチ上で安心して作業を再開することができます。新しいブランチは元のブランチから完全に独立しているため、元のブランチには一切の影響を与えません。これにより、過去の状態から新たな開発の道を切り開くことが可能になります。