1. ホーム
  2. ギット

[解決済み】Gitリポジトリを特定のコミットにロールバック(リセット)する方法とは?[重複しています]

2022-03-23 23:25:04

質問

Git リポジトリをクローンし、それを開発初期の特定のコミットにロールバックしようとしました。その時点以降にリポジトリに追加されたものは私にとって重要ではないので、それ以降の変更をローカルのソースコードからすべて省きたいのです。

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

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

どのように解決するのですか?

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


注意事項

  • git reset がなければ --hard オプションはコミット履歴をリセットしますが、ファイルはリセットしません。このとき --hard オプションは、作業ツリー内のファイルもリセットします。( 信用されたユーザー )

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