git stash 介绍

2025-03-09by@tim&@ChatGPT.Model: GPT-4o
tim

git stash 介绍

Avatar
Avatar

git stash 是 Git 中的一个命令,用于临时保存当前工作目录的修改(未提交的更改),以便你可以切换到其他分支或执行其他操作,而不会丢失这些未提交的更改。之后,你可以在需要的时候恢复这些更改。

主要用途

  1. 临时保存更改:当你正在处理某些更改,但需要切换到其他分支或进行其他任务时,可以使用 git stash 保存当前工作目录的状态。

  2. 保持工作目录整洁:在不提交不完整或实验性代码的情况下,你可以保持工作目录的整洁。

基本用法

  1. 保存当前修改

    git stash
    

    这会将当前的未提交更改(包括暂存区和工作目录)保存到一个新的存储中。

  2. 查看存储列表

    git stash list
    

    这会显示所有存储的修改列表。

  3. 恢复存储的更改

    git stash apply
    

    这会将最近一次存储的更改应用到当前工作目录中。

  4. 删除存储的更改

    • 应用并删除:

      git stash pop
      

      这会将最近一次存储的更改应用到工作目录,并从存储列表中删除。

    • 仅删除:

      git stash drop
      

      这会删除最近一次存储的更改,而不应用它。

  5. 命名存储
    你可以通过添加信息来描述存储,以便更容易识别:

    git stash save "描述信息"
    
  6. 应用特定存储
    如果有多个存储,你可以指定其中某一个来应用:

    git stash apply stash@{index}
    

    其中 indexgit stash list 中的索引。

注意事项

  • 不跟踪文件git stash 不会保存未被跟踪的文件(即未添加到 Git 中的文件)。如果你想临时存储这些文件,可以使用 git stash -ugit stash --include-untracked

  • 冲突:在恢复存储的更改时,可能会遇到与当前代码冲突的情况,需要手动解决这些冲突。

git stash 是一个非常有用的工具,特别是在需要频繁切换上下文或维护工作目录干净时。