やったこと

Rails tutorialをやるとき、章ごとにブランチを切って作業しすることにしている。
今朝masterブランチで作業してしまっていることに気づいたので、git checkout -b hoge として新しいブランチに移ろうと思ったら、変更があるのにコミットしてないファイルあるのでそれを移動させるかなんかしてからにしてねと言われてしまった。
こういうとき普段は git stash して変更を退避させてから git checkout でブランチを移動後、git stash apply するんだけど、できなかった

(・8・) git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   db/schema.rb

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    app/models/user.rb
    db/migrate/
    test/fixtures/users.yml
    test/models/user_test.rb

no changes added to commit (use "git add" and/or "git commit -a")

(・8・) git checkout -b modeling-users origin/modeling-users
error: The following untracked working tree files would be overwritten by checkout:
    app/models/user.rb
    test/fixtures/users.yml
    test/models/user_test.rb
Please move or remove them before you switch branches.
Aborting

untracked files があるのでブランチを移動できないと言われている。
直前に rails db:migrate というコマンドを使ったのだが、そのコマンドが新しいファイルを生成していて、そのファイルがuntracked なのでそのファイルをどけてねと言われてる。
こういうときは git stash -u を使うと、新規作成されてuntrackedなファイルもstashすることができる bulb

(・8・) git stash -u
Saved working directory and index state WIP on master: 7ec3f16 Merge pull request #15 from risacan/filling-in-layout
HEAD is now at 7ec3f16 Merge pull request #15 from risacan/filling-in-layout
(・8・) git checkout -b modeling-users origin/modeling-users
Branch modeling-users set up to track remote branch modeling-users from origin.
Switched to a new branch 'modeling-users'
(・8・) git stash apply
app/models/user.rb already exists, no checkout
test/fixtures/users.yml already exists, no checkout
test/models/user_test.rb already exists, no checkout
Could not restore untracked files from stash

memo

Thank you kissing_smiling_eyes