储藏与清理

有时,当你在项目的一部分上已经工作一段时间后,所有东西都进入了混乱的状态,而这时你想要切换到另一个分支做一点别的事情。 问题是,你不想仅仅因为过会儿回到这一点而为做了一半的工作创建一次提交。 针对这个问题的答案是 git stash 命令。

$ git stash
Saved working directory and index state WIP on future: 26c4dd4 0
$ git stash list
stash@{0}: WIP on future: 26c4dd4 'add file a.txt'
stash@{1}: WIP on future: 26c4dd4 'add file b.txt'

取出暂存

$ git stash pop # 取出最近的一个暂存, 即stash@{0}
$ git stash apply # 如果不指定暂存, Git 认为指定的是最近的暂存, 即stash@{0}
$ git stash apply stash@{1} # 取出一个更新的的暂存 stash@{1}

清理工作目录

$ git clean -n -d # 检查将要移除的文件
Would remove 0.txt
$ git clean -f -d # 清理工作目录
Removing 0.txt

默认情况下,git clean 命令只会移除没有忽略的未跟踪文件。 任何与 .gitiignore 或其他忽略文件中的模式匹配的文件都不会被移除。 如果你也想要移除那些文件,例如为了做一次完全干净的构建而移除所有由构建生成的 .o 文件,可以给 clean 命令增加一个 -x 选项。

$ git clean -n -d -x
Would remove .vscode/
$ git clean -f -d -x
Removing .vscode/

MIT Licensed | Copyright © 2018-present 滇ICP备16006294号

Design by Quanzaiyu | Power by VuePress