Git 中的 Git stash 用于补丁包含未追踪的文件
在本文中,我们将介绍 Git 中的 Git stash 命令及其在处理带有未追踪文件的补丁时的应用。Git stash 是一个非常有用的命令,可以暂存当前的工作状态,并切换到其他分支或应用其他补丁,待需要时再回到原工作状态。
阅读更多:Git 教程
Git stash 简介
Git stash 是 Git 提供的一个命令,用于保存当前的工作进度,并将工作目录恢复到干净的状态,以便可以切换到其他分支或应用其他补丁。Git stash 不会保存未跟踪的文件和被忽略的文件,只会保存已被 Git 追踪的文件。
Git stash 命令的基本用法如下:
git stash save
命令用于保存当前工作进度。可以使用--patch
参数来选择性地保存部分更改。可以通过在保存命令后添加一条消息来记录该工作进度。git stash list
命令用于列出所有已保存的工作进度。git stash apply
命令用于应用指定的工作进度,并将其应用到当前分支。使用<stash>
参数来指定要应用的工作进度,默认为最新保存的工作进度。git stash pop
命令类似于git stash apply
,但是在应用工作进度后会删除该工作进度。git stash drop
命令用于丢弃指定的工作进度。使用<stash>
参数来指定要丢弃的工作进度,默认为最新保存的工作进度。
Git stash 与未追踪文件
Git stash 默认不会保存未追踪的文件,这包括新创建但未加入版本控制的文件。然而,在一些情况下,我们可能希望保存包含未追踪文件的补丁。这时,我们可以使用 --include-untracked
或 -u
参数来保存未追踪的文件。
下面是一个示例,演示了如何使用 Git stash 保存包含未追踪文件的补丁:
- 假设我们有一个 Git 仓库,并在工作目录中创建了一个新文件
new_file.txt
,但未将其添加到 Git 版本控制中。 -
运行以下命令将新文件加入索引:
- 现在我们使用 Git stash 保存当前的工作进度,包括未追踪的文件:
这将保存当前的工作进度,并包含未追踪的文件。
-
切换到其他分支或者应用其他补丁。
-
在需要时,可以使用
git stash apply
命令应用保存的工作进度,并恢复到包含未追踪文件的状态。或者,我们也可以使用
git stash pop
命令将工作进度应用并从存储堆栈中删除。在应用工作进度后,我们将恢复到之前保存时的状态,包括未追踪的文件。
总结
Git stash 是一个非常有用的命令,可以保存当前的工作进度并切换到其他分支或应用其他补丁。默认情况下,Git stash 不会保存未追踪的文件。然而,通过使用 --include-untracked
参数,我们可以保存包含未追踪文件的补丁。通过掌握 Git stash 命令的使用,我们能够更好地管理和处理代码的不同版本和分支,提高开发效率。