Git 面试题 目录

如何使用 Git stash 清除工作进度?

推荐答案

本题详细解读

1. git stash 的基本用法

git stash 是一个非常有用的命令,它允许你将当前工作目录中的修改保存到一个临时的存储区域(stash),以便你可以切换到其他分支或执行其他操作,而不会丢失当前的修改。

执行这个命令后,Git 会将所有已跟踪文件的修改保存到一个新的 stash 中,并将工作目录恢复到上一次提交的状态。

2. 清除未跟踪的文件

默认情况下,git stash 只会保存已跟踪文件的修改。如果你希望同时清除未跟踪的文件,可以使用 -u--include-untracked 选项:

这个命令会将未跟踪的文件也保存到 stash 中,并从工作目录中移除这些文件。

3. 清除所有未跟踪和忽略的文件

如果你希望清除所有未跟踪的文件,包括那些被 .gitignore 忽略的文件,可以使用 -a--all 选项:

这个命令会将所有未跟踪的文件(包括被忽略的文件)保存到 stash 中,并从工作目录中移除这些文件。

4. 恢复 stash 中的内容

如果你在清除工作进度后想要恢复之前的修改,可以使用以下命令:

这个命令会将最近一次保存的 stash 应用到当前工作目录中。如果你有多个 stash,可以使用 git stash list 查看所有 stash,然后使用 git stash apply stash@{n} 来应用特定的 stash。

5. 删除 stash

如果你不再需要某个 stash,可以使用以下命令将其删除:

这个命令会删除最近一次保存的 stash。如果你有多个 stash,可以使用 git stash drop stash@{n} 来删除特定的 stash。

6. 总结

git stash 是一个非常强大的工具,可以帮助你在不提交修改的情况下切换分支或执行其他操作。通过使用 -u-a 选项,你可以更灵活地控制哪些文件会被保存到 stash 中。

纠错
反馈