1. ホーム
  2. git

[解決済み] パッチを作成し、フォルダを特定のコミットに戻す方法

2022-10-17 17:59:21

質問

以下は、フォルダ 'somefolder' に対する私の履歴です。

$ git log somefolder

commit 89cd
More changes to somefolder

commit ef47a
Updating somefolder and other stuff

commit e095
Bugs fixed in somefolder

somefolderを'Bugs fixed in some folder"コミットに戻したいのですが、可能ですか?

2 番目のコミットは somefolder の外側の変更を含んでいるので、このコミットは戻したくありません。

最も安全な方法は、コミット e095 と 89cd の間で、あるフォルダーだけに適用する diff/patch を作成し、そのパッチを適用することだと思います。どのようにそれを行うことができますか?

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

あなたは gitチェックアウト を使って、リポジトリを特定の状態に更新することができます。

git checkout e095 -- somefolder

diffの生成についての質問ですが、これもうまくいくでしょう。 現在の状態からdiffを生成して e095 :

git diff 89cd..e095 -- somefolder