アップデート2:
人々はこの答え不満れている理由私はわからないんだけど、それはあなたが追加することができますuntractedファイルのために、私と一緒に完璧に動作しているようだ-u
フラグ
完全なコマンドは git stash --keep-index -u
そして、これがgit-stash
ヘルプのスニペットです
--keep-indexオプションを使用すると、すでにインデックスに追加されたすべての変更がそのまま残ります。
--include-untrackedオプションを使用すると、すべての追跡されていないファイルも隠され、git cleanでクリーンアップされ、作業ディレクトリは非常にクリーンな状態になります。代わりに--allオプションを使用すると、追跡されていないファイルに加えて、無視されたファイルが隠されてクリーンアップされます。
そして、これはそれがどのように見えるかのgifです:
更新:
これが選択された回答ですが、[以下の回答](https://stackoverflow.com/a/34681302/292408)が正しいものであると多くの人が指摘しています。私はそれをチェックすることをお勧めします。
今日(2020年1月31日)にgit versionに対してもう一度答えをテストしましたが、2.24.0
それでも正しいと信じています。追跡されていないファイルについて上記の小さなメモを追加しました。動作していないと思われる場合は、gitのバージョンもお知らせください。
古い答え:
この--keep-index
オプションを使用すると、すでにインデックスに追加されたすべての変更はそのまま残ります。
git stash --keep-index
のドキュメントからgit-stash
:
部分的なコミットのテスト
git stash save --keep-index
作業ツリーの変更から2つ以上のコミットを行い、コミットする前に各変更をテストする場合に使用できます。
# ... hack hack hack ...
$ git add --patch foo # add just first part to the index
$ git stash save --keep-index # save all other changes to the stash
$ edit/build/test first part
$ git commit -m 'First part' # commit fully tested change
$ git stash pop # prepare to work on all other changes
# ... repeat above five steps until one commit remains ...
$ edit/build/test remaining parts
$ git commit foo -m 'Remaining parts'
ただし、ステージングされた変更のみを視覚的に確認したいだけの場合は、以下を試すことができますdifftool
。
git difftool --cached
-k
オプション)か、使いにくいです。