我对一个文件进行了更改,再加上一个新文件,我想在切换到另一个任务时使用git stash将它们保存起来。但是git stash本身只存储对现有文件的更改;新文件仍保留在我的工作树中,打乱了我未来的工作。我如何保存这个未跟踪的文件?
当前回答
从git1.7.7开始,gitstash接受--include未跟踪选项(或短手-u)。要将未跟踪的文件包含在存储库中,请使用以下任一命令:
git stash --include-untracked
# or
git stash -u
警告:如果您的gitignore文件中有任何目录/条目,那么这样做将永久删除您的文件*
其他回答
你如何隐藏未追踪的文件?
git stash --include-untracked
我可以通过以下方式来隐藏未跟踪的文件:
git stash save "tracked files I'm working on"
git stash save -u "untracked files I'm trying to stash"
git stash pop stash@{1}
最后一个弹出隐藏的跟踪文件,从而只留下未跟踪的文件。
将文件添加到索引:
git add path/to/untracked-file
git stash
索引的全部内容,加上对现有文件的任何未标记的更改,都将被放入存储库。
假设新的未跟踪文件名为:“views.json”。如果您想通过隐藏应用程序的状态来更改分支,我通常会键入:
git add views.json
然后:
git stash
它会被藏起来。然后我就可以用
git checkout other-nice-branch
在git版本2.8.1上:以下对我有用。
将已修改和未跟踪的文件保存在不带名称的存储中
git stash save -u
使用名称将已修改和未跟踪的文件保存在存储库中
git stash save -u <name_of_stash>
您可以稍后使用pop或apply,如下所示。
git stash pop
git stash apply stash@{0}
推荐文章
- Git与Mercurial仓库的互操作性
- 忽略git中修改(但未提交)的文件?
- “git restore”命令是什么?“git restore”和“git reset”之间有什么区别?
- Git合并与强制覆盖
- Git拉另一个分支
- 在Bash命令提示符上添加git分支
- 如何更改Git日志日期格式
- git pull -rebase和git pull -ff-only之间的区别
- GitHub -致命:无法读取用户名https://github.com':没有这样的文件或目录
- 撤消git平分错误
- 使用.gitconfig配置diff工具
- 如何配置Mac OS X术语,使git有颜色?
- Visual Studio Code: .git文件夹/文件隐藏
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么git-rebase给了我合并冲突,而我所做的只是压缩提交?