2016-11-16 11 views
0

stashコマンドをどのシナリオで使用する必要がありますか?

1)私はブランチ(b1)を持っていて、私がステージングしていないファイル(f1)があるとしましょう。ブランチ(b1)から新しいブランチ(b2)を作成すると、新しいブランチ(b2)でファイル(f1)を使用できなくなります。

2)しかし、ブランチ(b1)でファイル(f1)をステージングした場合、ファイル(f1)がコミットされていないため、新しいブランチ(b2)でファイルf1を使用できます。これは起こるべきではないので、私たちがstashコマンドを使用するのはなぜですか? F1のみ上演されていない場合

これは間違っているなら、私を修正してGit - stashコマンドは何をしますか?

+0

あなたの質問に作業を続けるには、正式な答えのためにあまりにも漠然としているが、 'Gitのstash'は実際にあなたの例の_both_に適用されます。ステージングされていない(汚い)ファイルの場合、stashはコミットを行い、stagedファイルの_also_はstashが2回目のコミットを行います。 'git stash'の一般的な使用例は、あなたがブランチを変更する必要があることです。しかし、あなたは物事をきれいにして正式なコミットをしたくありません。 –

+0

は仕事を保存します。 – KOTIOS

答えて

0

git stashを隠しておくために関連する追加情報があなたの作業ディレクトリ チェックアウトブランチ git popたが、これに作業ディレクトリを適用します保存されます提供してくださいは、分岐 をチェックアウトあなたが私の意見について

1

を隠し前にそれがあったとして、それがポップアップ表示されますファイル、隠しの使用のための最も「古典的な」シナリオ:ブランチ富栄のお仕事

  • たgX
  • 修正が
  • チェックアウトのバグを押して、あなたがコミットし、修正し、「バグ-X」の変更
  • チェックアウトバグ-Yを隠しておく行われていないが、あなたは非常に緊急のバグ-Y
  • を解決する必要があります-X
  • unstashと
+0

はBug-Yです.Bug-Xから作成された新しいブランチですか? – divine

+0

不要です。それは歴史の任意の点から作成された枝であるかもしれません。 Stashコマンドは "一時的な"コミットを作成するので、任意のブランチに切り替えることができます – Ivan

関連する問題