Git 中的 Git stash 用于补丁包含未追踪的文件

Git 中的 Git stash 用于补丁包含未追踪的文件

在本文中,我们将介绍 Git 中的 Git stash 命令及其在处理带有未追踪文件的补丁时的应用。Git stash 是一个非常有用的命令,可以暂存当前的工作状态,并切换到其他分支或应用其他补丁,待需要时再回到原工作状态。

阅读更多:Git 教程

Git stash 简介

Git stash 是 Git 提供的一个命令,用于保存当前的工作进度,并将工作目录恢复到干净的状态,以便可以切换到其他分支或应用其他补丁。Git stash 不会保存未跟踪的文件和被忽略的文件,只会保存已被 Git 追踪的文件。

Git stash 命令的基本用法如下:

git stash [save [--patch] <message>]
git stash list
git stash apply [<stash>]
git stash pop [<stash>]
git stash drop [<stash>]
Bash
  • 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 保存包含未追踪文件的补丁:

  1. 假设我们有一个 Git 仓库,并在工作目录中创建了一个新文件 new_file.txt,但未将其添加到 Git 版本控制中。

  2. 运行以下命令将新文件加入索引:

    git add new_file.txt
    Bash
  3. 现在我们使用 Git stash 保存当前的工作进度,包括未追踪的文件:
    git stash save -u "Save work with untracked files"
    Bash

    这将保存当前的工作进度,并包含未追踪的文件。

  4. 切换到其他分支或者应用其他补丁。

  5. 在需要时,可以使用 git stash apply 命令应用保存的工作进度,并恢复到包含未追踪文件的状态。

    git stash apply
    Bash

    或者,我们也可以使用 git stash pop 命令将工作进度应用并从存储堆栈中删除。

    git stash pop
    Bash

    在应用工作进度后,我们将恢复到之前保存时的状态,包括未追踪的文件。

总结

Git stash 是一个非常有用的命令,可以保存当前的工作进度并切换到其他分支或应用其他补丁。默认情况下,Git stash 不会保存未追踪的文件。然而,通过使用 --include-untracked 参数,我们可以保存包含未追踪文件的补丁。通过掌握 Git stash 命令的使用,我们能够更好地管理和处理代码的不同版本和分支,提高开发效率。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册