How do you stash an untracked file?
I have changes to a file, plus a new file, and would like to use git stash to put them away while I switch to another task. But git stash by itself stashes only the changes to the existing file; the new file remains in my working tree, cluttering up my future work. How do I stash this untracked file?
Update 17 May 2018:
New versions of git now have git stash --all
which stashes all files, including untracked and ignored files.
git stash --include-untracked
no longer touches ignored files (tested on git 2.16.2).
Original answer below:
Warning, doing this will permanently delete your files if you have any directory/* entries in your gitignore file.
As of version 1.7.7 you can use git stash --include-untracked
or git stash save -u
to stash untracked files without staging them.
Add ( git add
) the file and start tracking it. Then stash. Since the entire contents of the file are new, they will be stashed, and you can manipulate it as necessary.
As of git 1.7.7, git stash
accepts the --include-untracked
option (or short-hand -u
). To include untracked files in your stash, use either of the following commands:
git stash --include-untracked
git stash -u
Warning, doing this will permanently delete your files if you have any directory/* entries in your gitignore file.
Add the file to the index:
git add path/to/untracked-file
git stash
The entire contents of the index, plus any unstaged changes to existing files, will all make it into the stash.
链接地址: http://www.djcxy.com/p/57228.html上一篇: Git diff与藏匿处
下一篇: 你如何隐藏未跟踪的文件?