Git リポジトリを特定のコミットにロールバック (リセット) するにはどうすればよいですか? [重複] 質問する

Git リポジトリを特定のコミットにロールバック (リセット) するにはどうすればよいですか? [重複] 質問する

Git リポジトリをクローンし、開発プロセスの早い段階で特定のコミットにロールバックしようとしました。その時点以降にリポジトリに追加された内容は私にとって重要ではないため、ローカル ソース コードからそれ以降の変更をすべて省略したいと考えています。

ただし、GUI ツールでロールバックしようとすると、ローカル ファイル システムが更新されず、常にプロジェクトの最新のソース コードが使用されてしまいます。

プロジェクトの履歴内の特定のコミット時点のリポジトリのソースのみを取得し、それ以降の更新をすべて省略する正しい方法は何ですか?

ベストアンサー1

git reset --hard <tag/branch/commit id>

ノート:

  • git resetオプションを指定しないと--hardコミット履歴はリセットされますが、ファイルはリセットされません。--hardオプションを指定すると、作業ツリー内のファイルもリセットされます。(クレジットされたユーザー

  • その状態をコミットして、リモートリポジトリもロールバックされたコミットを指すようにしたい場合は、次のようにしますgit push <reponame> -f:(クレジットされたユーザー

おすすめ記事