ブランチを切り替えてコミットせずに変更を無視する 質問する

ブランチを切り替えてコミットせずに変更を無視する 質問する

私はgitブランチで作業していて、変更をコミットする準備ができたので、役に立つコミットメッセージでコミットしました。その後、うっかりして、保存する価値のないコードに小さな変更を加えてしまいました。今、ブランチを変更したいのですが、gitは私に、

エラー: 「X」にローカル変更があるため、ブランチを切り替えることができません。

コミットせずにブランチを変更できますか? できる場合、どのように設定すればよいですか? できない場合、この問題を解決するにはどうすればよいでしょうか? コミットせずに小さな変更を無視し、ブランチのみを変更したいです。

ベストアンサー1

ブランチを変更するにはクリーンな状態が必要です。ブランチのチェックアウトは、「ダーティファイル」に影響を与えない場合にのみ許可されます(チャールズ・ベイリーコメント欄にご意見をお寄せください。

それ以外の場合は、次のいずれかを実行する必要があります。

  • 隠し場所現在の変更または
  • reset --hard HEAD(それらの小さな変更を失っても構わない場合)または
  • checkout -f(ブランチを切り替えるときに、インデックスや作業ツリーが HEAD と異なっていても続行します。これは、ローカルの変更を破棄するために使用されます。)

あるいは、最近では:

インデックスまたは作業ツリーが HEAD と異なる場合でも続行します。
インデックスと作業ツリーの両方が、切り替え先に合わせて復元されます。

git switch -m <branch-name>これは、現在のブランチ、作業ツリーの内容、および新しいブランチの間で 3 方向のマージをトリガーするとは異なります。この方法では、進行中の作業が失われることはありません。

おすすめ記事