AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
## 7.3 储藏与清理 ### 7.3.1 储藏 储藏会处理工作目录的脏的状态 - 即,修改的跟踪文件与暂存改动 - 然后将未完成的修改保存到一个栈上,而你可以在任何时候重新应用这些改动。 **储藏当前工作目录** ``` $ git stash $ git stash save ``` **查看储藏列表** ``` $ git stash list ``` **应用储藏** 如果不指定一个储藏的话,默认是最近的一个。 ``` $ git stash apply $ git stash apply stash@{2} ``` 可以在一个分支上保存一个储藏,切换到另一个分支,然后尝试重新应用这些修改。 当应用储藏时工作目录中也可以有修改与未提交的文件 - 如果有任何东西不能干净地应用,Git 会产生合并冲突。 **移除储藏** 通过 `drop` 可以删除一个储藏: ``` $ git stash drop stash@{0} ``` 也可以运行`git stash pop`来应用储藏然后立即从栈上扔掉它。 **创造性的储藏** `git stash` 命令的一些选项: * `--keep-index`:不储藏任何通过 git add 命令已暂存的东西。 * `--include-untracked`或`-u`:一同储藏任何创建的未跟踪文件。 * `--patch`:不储藏所有修改过的任何东西,但是会交互式地提示哪些改动想要储藏、哪些改动需要保存在工作目录中。 **从储藏创建一个分支** 检出储藏工作时创建一个新的分支来应用储藏。 ``` $ git stash branch <branch> ``` ### 7.3.2 清理工作目录 {#r_git_clean} 通过 `clean` 命令可以清理工作目录。 ``` $ git clean ``` 默认情况下,命令只会移除没有忽略的未跟踪文件。任何与`.gitiignore`或其他忽略文件中的模式匹配的文件都不会被移除。 **选项** * `-f`:强制删除。 * `-d`:同时删除空目录。 * `-n` :删除演习,会列出删除命令会删除掉的文件。 * `-x` :一并删除 `.gitignore` 中忽略的文件。 * `-i` :进入交互式页面。