Skip to content

git stash命令总结 #24

@liujie2019

Description

@liujie2019

1. 储藏(Stashing)

在经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。

“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用。

储藏你的工作
为了演示这一功能,你可以进入你的项目,在一些文件上进行工作,有可能还暂存其中一个变更。如果你运行 git status,你可以看到你的中间状态:
image
image
image
image
image

暂存未跟踪或忽略的文件

默认情况下,git stash会缓存下列文件:

  1. 添加到暂存区的修改(staged changes);
  2. Git跟踪的但并未添加到暂存区的修改(unstaged changes);

但不会缓存一下文件:

  1. 在工作目录中新的文件(untracked files)
  2. 被忽略的文件(ignored files)

git stash命令提供了参数用于缓存上面两种类型的文件。使用-u或者--include-untracked可以stash untracked文件;使用-a或者--all命令可以stash当前目录下的所有修改。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions