gitで新規ファイルをグルーピングしてstashしたい
新規ファイル(untracked file)を外に逃がす手段
調べると以下のやり方が一般的に紹介されてます。
$ git stash --include-untracked
or
$ git stash -u
ただ、このコマンドだと全ての次にstashを適用する際に個人的には不便に感じました。
理想としては、任意のファイルをグルーピングしてstashしたいです。
ステージにあげてからだとstashが使える
一旦新規ファイルをaddしてステージにあげてからstashすると、新規ファイルでもstashできます。
まとめたいファイルを一旦addしてからstashすれば、グルーピングしてstashできるわけです。
その際に名前をつけると、次にstashを戻したい時にわかりやすいです。
$ git stash save 'stash名'
同名の新規ファイルがあって、stashをapply/popした時にConflictしてしまう場合
新規ファイル絡みでもう一つ困ったのが、
stashした新規ファイルを適用する際に同名ファイルがあった場合conflictで適用できなかったことです。
こちらもconflictしているファイルをaddして、ステージングにあげてからapply/popするとmergeできます。
*参照*
stack overflow: Force git stash to overwrite added files
stack overflow: How do you stash an untracked file?