Magitのユーザマニュアルを保存小文字のコマンド:コマンド「スタッシュ」の二組備えてスタッシュ保存し、大文字のコマンドをスナップショット。GoogleとStack Overflowおよびgit-stash(1)
manページを調べた後、私はまだ違いがわからない。
違いは何ですか?
Magitのユーザマニュアルを保存小文字のコマンド:コマンド「スタッシュ」の二組備えてスタッシュ保存し、大文字のコマンドをスナップショット。GoogleとStack Overflowおよびgit-stash(1)
manページを調べた後、私はまだ違いがわからない。
違いは何ですか?
回答:
「スタッシュ」と「スナップショット」の両方のバリアントは、同じスタッシュオブジェクトを作成します。違いは、スナップショットを作成するときに、隠された変更が作業ツリーおよび/またはインデックスのファイルから削除されないことです。(ちょうど良い時間を過ごしている友人のスナップショットを撮るときのように-それは彼らが消える原因にもなりません;-)
これは、一種のバックアップメカニズムとして意図されています。複雑なリファクタリングを実行していて、テストしたばかりで、変更されたコードがまだ機能しているように見えても、まだ完了していないとします。スナップショットを作成するのに適した時間になりますので、後でそれを台無しにした場合に戻ることができます。
もちろん、作業中のブランチ上で一時的な「wip」コミットを作成するだけで、同じことを実現できます。それは通常私がやることです。
また、Wipモードを有効にすることで、進行中の作業を記録するプロセスを自動化することもできます。これらのモードはセーフティネットとして有効にしていますが、現在のブランチで直接wipコミットを作成するか、スナップショットを作成します。これらはwip refよりも扱いやすいです。
MagitにはElispで書かれた独自のstash実装が付属していることに注意してください。これは、スナップショットバリアントと、ワークツリーのみおよびインデックスのみのスタッシュバリアントを実装するために必要でした。Gitはこれらのバリアントを提供しません。
stash
、変更もリセット(元に戻す)さsnapshot
れ、ワークスペースに変更が残ります(プッシュする前にコミットを再配置する場合に役立ちます)。