1. ホーム
  2. git

[解決済み】gitでコミットをステージング・エリアに移動するにはどうすればいいですか?

2022-04-14 12:20:16

質問

コミットをステージングエリアに移動させたい場合、つまりコミットを取り消し、その中にあった変更をすべてステージングエリアに移動させたい場合(事実上、ブランチをコミット前の状態にする)、どうすればいいのでしょうか? それとも、それはできないことなのでしょうか?

私が知っている最も近い方法は、コミットで変更されたファイルをすべて別の場所にコピーし、ブランチをステージングエリアに移動しようとしているコミットの前のコミットにリセットし、コピーしたファイルをすべてリポジトリに戻し、そしてそれらをステージングエリアに追加することです。これは動作しますが、必ずしも良い解決策とは言えません。私ができるようにしたいのは、コミットを取り消し、その変更をステージングエリアに移動することです。それは可能ですか?そしてもしそうなら、どのように?

解決方法は?

git reset --soft HEAD^

これは、インデックスをリセットして HEAD^ (直前のコミット)ですが、変更内容はステージングエリアに残されています。

いくつかの ハンディダイアグラム の中にあります。 git-reset ドキュメント

Windowsをお使いの場合は、この形式を使用する必要があるかもしれません。

git reset --soft HEAD~1