Gitの隠し場所

まだコミットする準備ができていないけれども別のブランチに変更しなければならない場合に、git stash を使って変更を保存します。

  • 隠し場所です:

     git stash save
     # or
     git stash
     # or with a message
     git stash save "this is a message to display on the list"
    
  • 隠し場所は、作業を継続するために適用されます:

     git stash apply
     # or apply a specific one from out stack
     git stash apply stash@{3}
    
  • スタッシュを保存するたびにスタックされるので、list 、すべてのスタッシュを見ることができます。

     git stash list
     # or for more information (log methods)
     git stash list --stat
    
  • スタックをきれいにするには、手動で削除します:

     # drop top stash
     git stash drop
     # or
     git stash drop <name>
     # to clear all history we can use
     git stash clear
    
  • 1つのコマンドを適用してドロップします:

     git stash pop
    
  • コンフリクトが発生したら、変更をリセットするかコミットします。
  • コンフリクトが発生しても、pop 、その後に隠し場所を落とすことはありません。

Git Stash のサンプル・ワークフロー

  1. ファイルの修正
  2. ステージファイル
  3. 隠す
  4. 隠し場所リストを見る
  5. ステータスで保留中の変更がないことを確認
  6. ポップで申請
  7. リストを表示して変更を確認
# Modify edit_this_file.rb file
git add .

git stash save "Saving changes from edit this file"

git stash list
git status

git stash pop
git stash list
git status